easyExcel 实现不同对象写入到同一个sheet中
1. 利用WriteTable实现,excel实体对象按需求处理,这里省略
try { // 方法1 如果写到同一个sheet String fileName = PATH+ "/repeatedWrite/" + System.currentTimeMillis() + ".xlsx"; // 这里直接写多个table的案例了,如果只有一个 也可以直一行代码搞定,参照其他案例 ExcelWriter excelWriter = null; try { // 这里不指定class excelWriter = EasyExcel.write(fileName).build(); // 把sheet设置为不需要头 不然会输出sheet的头 这样看起来第一个table 就有2个头了 WriteSheet writeSheet = EasyExcel.writerSheet("模板").needHead(Boolean.FALSE).build(); // 这里必须指定需要头,table 会继承sheet的配置,sheet配置了不需要,table 默认也是不需要 WriteTable writeTable0 = EasyExcel.writerTable(0).head(DemoData.class).needHead(Boolean.TRUE).build(); // 第二个对象 读取对象的excel实体类中的标题 WriteTable writeTable1 = EasyExcel.writerTable(1).head(DemoData1.class).needHead(Boolean.TRUE).build(); // 第一次写入会创建头 excelWriter.write(data(), writeSheet, writeTable0); // 第二次写如也会创建头,然后在第一次的后面写入数据 excelWriter.write(data1(), writeSheet, writeTable1); } finally { // 千万别忘记finish 会帮忙关闭流 if (excelWriter != null) { excelWriter.finish(); } } } catch (Exception e) { e.printStackTrace(); }
下一篇:
java读取文件并输出内容