[alibaba/easyexcel]动态头的方式写入,不支持多次追加写入

2024-04-25 41 views
8

EasyExcel.write(fileName) // 这里放入动态头 .head(head()).sheet("模板") // 当然这里数据也可以用 List<List> 去传入 .doWrite(data()); } 多次调用会报错 Attempting to write a row[1] in the range [0,1001] that is already written to disk. easyexcel

怎么可以实现多次追加写入,使用动态头,不使用数据对象

回答

4

为什么表头要多次追加

7

您好,来信已收到,我会尽快给您回复。                                                                                            chenyujun

0
0

不是这个意思,表头只写一次,然后后面的表格数据会分批写入

1

你说的动态表头是这个问题吗? discussion#3148

9

数据是需要一次性走完的,可以在过滤器中分段查询

7

demo: /**

  • 动态头,实时生成头写入
  • 思路是这样子的,先创建List头格式的sheet仅仅写入头,然后通过table 不写入头的方式 去写入数据
    1. 创建excel对应的实体对象 参照{@link DemoData}
    1. 然后写入table即可 */ @Test public void dynamicHeadWrite() { String fileName = TestFileUtil.getPath() + "dynamicHeadWrite" + System.currentTimeMillis() + ".xlsx"; EasyExcel.write(fileName) // 这里放入动态头 .head(head()).sheet("模板") // 当然这里数据也可以用 List<List> 去传入 .doWrite(data()); }

是demo中的这种写法,想实现data() 多次写入,

7

不知道您是否已经解决该问题?我们先暂时关闭这个问题,如果还存在问题请重新Reopen这个issue