EasyExcel 的通用读写

1.读取excel

        1.1创建监听器

public class ExcelListener extends AnalysisEventListener<Map<Integer, String>> {

	protected Log log = LogFactory.getLog(this.getClass());

	private final List<Map<Integer, String>> dataList = Collections.synchronizedList(new ArrayList<>());

	@Override
	public void invoke(Map<Integer, String> data, AnalysisContext context) {
		dataList.add(data);
	}

	@Override
	public void doAfterAllAnalysed(AnalysisContext context) {
		log.info("所有数据解析完成!");
	}

	public List<Map<Integer, String>> getDataList() {
		return dataList;
	}
}

    1.2读取数据 

ExcelListener listener = new ExcelListener();
EasyExcel.read(filePath, listener).sheet(sheetNo).doRead();
List<Map<Integer, String>> dataList = listener.getDataList();

2.写EXCEL

    2.1  excel头数据

	List<List<String>> excelHeader = new ArrayList<>();
		excelHeader.add(Collections.singletonList("标题1"));
		excelHeader.add(Collections.singletonList("标题2"));
		return excelHeader;

   2.2  写入单sheet

// List<List<String>> dataList 类型

EasyExcel.write(dist).head(excelHeader).doWrite(dataList);

2.3 写入多sheet

try (ExcelWriter excelWriter = EasyExcel.write(dist).build()) {
    ExcelWriterSheetBuilder userExcelSheet1 = new ExcelWriterSheetBuilder();
	userExcelSheet1.head(excelHeader);
    userExcelSheet1.sheetNo(0);
	excelWriter.write(dataList1, userExcelSheet1.build());

    ExcelWriterSheetBuilder userExcelSheet2 = new ExcelWriterSheetBuilder();
	userExcelSheet2 .head(excelHeader);
    userExcelSheet2 .sheetNo(1);
	excelWriter.write(dataList2, userExcelSheet2 .build());
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值