当前位置: 首页 > news >正文

java 读取json文件并写入Excel

依赖于lombok、easyExcel


import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;import java.io.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;/*** @author hsj* @description:* @date 2024-8-28 17:54*/
public class ReadJsonFile {public static void main(String[] args) throws Exception {File file = new File("I:\\BladeX-Boot\\src\\test\\java\\org\\springblade\\税220304.json");FileReader fileReader = new FileReader(file);Reader reader = new InputStreamReader(new FileInputStream(file), "Utf-8");int ch = 0;StringBuffer sb = new StringBuffer();while ((ch = reader.read()) != -1) {sb.append((char) ch);}fileReader.close();reader.close();String jsonStr = sb.toString();JSONArray ja = JSON.parseArray(jsonStr);List<F> list = new ArrayList<F>();for (Object o : ja) {JSONObject jb = (JSONObject) o;F f = F.builder().name(String.format("*%s*%s", jb.getString("spfwjc"), jb.getString("xmmc"))).id(jb.getString("sphfwssflhbbm")).model(jb.getString("ggxh")).unit(jb.getString("dw")).num(jb.getString("spsl")).price(jb.getBigDecimal("hsdj")).total(jb.getBigDecimal("hsje")).tax0(jb.getBigDecimal("slv")).tax1(jb.getBigDecimal("se")).build();list.add(f);}EasyExcel.write("I:\\BladeX-Boot\\src\\test\\java\\org\\springblade\\税220304.xlsx", F.class).sheet("税220304").doWrite(list);}
}@Getter
@Setter
@EqualsAndHashCode
@Builder
class F {@ExcelProperty("项目名称")private String name;@ExcelProperty("ID")private String id;@ExcelProperty("规格型号")private String model;@ExcelProperty("单位")private String unit;@ExcelProperty("数量")private String num;@ExcelProperty("单价含税")private BigDecimal price;@ExcelProperty("金额含税")private BigDecimal total;@ExcelProperty("税率")private BigDecimal tax0;@ExcelProperty("税额")private BigDecimal tax1;
}

http://www.mrgr.cn/news/15192.html

相关文章:

  • Windows Edge兼容性问题修复
  • day15JS-es6的基础语法
  • git分支
  • DocuSign集成方案 | 结合 DocuSign 与 Oracle,加快业务完成速度!
  • python基础操作
  • 25考研计算机组成原理复习·4.3程序的机器级代码表示
  • 【设计模式】创建型模式——抽象工厂模式
  • 游戏引擎详解——图片
  • 【机器学习】智驭未来:机器学习如何重塑现代城市管理新生态
  • 一 lua学习笔记:概述
  • 聚观早报 | 苹果推出AI消除功能;比亚迪2024上半年营收
  • C与C++的三种区分方式
  • 每日练习6
  • vscode在html中的使用
  • 多线程-进阶
  • 基于深度学习的单目标跟踪系统
  • vscode链接到远程
  • 基于视觉识别引擎+深度学习实现安全保障数字化的智慧城管开源了
  • 程序化交易在中国的规模
  • 【Python-办公自动化】批量修改EXCEL指定内容