使用easyExcel将同一个对象、不同对象写入不同sheet
程序员文章站
2022-06-02 15:41:50
...
// 方法1 如果写到同一个sheet
String fileName = "D:\" + System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写
ExcelWriter excelWriter = EasyExcel.write(fileName, Date.class).build();
// 这里注意 如果同一个sheet只要创建一次
WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
for (int i = 0; i < 2; i++) {
List<Date> data = data();
excelWriter.write(data, writeSheet);
}
// 千万别忘记finish 会帮忙关闭流
excelWriter.finish();
// 方法2 如果写到不同的sheet 同一个对象
fileName = "D:\" + System.currentTimeMillis() + ".xlsx";
// 这里 指定文件
excelWriter = EasyExcel.write(fileName, Data.class).build();
// 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面
for (int i = 0; i < 2; i++) {
// 每次都要创建writeSheet 这里注意必须指定sheetNo
writeSheet = EasyExcel.writerSheet(i, "模板_"+i).build();
List<Data> data = data();
excelWriter.write(data, writeSheet);
}
// 千万别忘记finish 会帮忙关闭流
excelWriter.finish();
// 方法3 如果写到不同的sheet 不同的对象
fileName = "D:\" + System.currentTimeMillis() + ".xlsx";
// 这里 指定文件
excelWriter = EasyExcel.write(fileName).build();
writeSheet = EasyExcel.writerSheet(1, "模板_1").head(Data1.class).build();
// 分页去数据库查询数据 这里可以去数据库查询每一页的数据
List<Data1> data = data();
excelWriter.write(data, writeSheet);
writeSheet = EasyExcel.writerSheet(2, "模板_2").head(Data2.class).build();
// 分页去数据库查询数据 这里可以去数据库查询每一页的数据
List<Data2> data2 = data();
excelWriter.write(data2, writeSheet);
// 千万别忘记finish 会帮忙关闭流
excelWriter.finish();