您好,我在使用easyexcel写excel的时候,发现有以下的问题: 1、向单个sheet中连续调用 writer.write1(),写入数据时,可以实现追加行到sheet中 2、向多个sheet中分别连续调用 writer.write1(),写入数据时,最终的结果是,每个sheet中的写入的数据的效果和向sheet中写入多个table一样。
效果截图如下: 使用的代码如下: writer.write1(data, sheet1);//我是连续的调用write1方法
实际上,我发现您在源码中是判断了WriteContext.currentSheetParam和传入的sheet是否指向的同一个sheet,然后执行initCurrentSheet(sheet),重新初始化了表头。但是由于每次记录的都是上一个sheet,那么我循环写入同一个sheet时,就会误判成一个新的sheet,然后就导致重新初始化了表头。。。。
我暂时的解决方案是,在调用writer.write1()之前,先通过反射的方式设置了currentSheetParam和currentSheet。
希望您可以在源码 中兼容这种方式的写操作。