EasyExcel 导出文件,冻结表头问题
easyexcel
快速、简洁、解决大文件内存溢出的java处理Excel工具
项目地址:https://gitcode.com/gh_mirrors/ea/easyexcel
·
EasyExcel导出xlsx格式,office打开报错,WPS正常

WPS打开是正常的,且列表表头有冻结。
目的是要冻结住表格的前四列,和前两行表头。出现错误的代码如下:
贴代码:
EasyExcel.write(path + fileName, ExportPojo.class)
.registerWriteHandler(new FreezeRowColHandler(4,2,0,0))
.sheet("信息").doWrite(list);
FreezeRowColHandler.java
public class FreezeRowColHandler implements SheetWriteHandler {
/**
* cellNum:表示要冻结的列数;
* rowNum:表示要冻结的行数;
* firstCellNum:表示被固定列右边第一列的列号;
* firstRollNum :表示被固定行下边第一列的行号;
*/
private int colSplit = 0, rowSplit = 1, firstCellNum = 0, firstRollNum = 1;
public FreezeRowColHandler(int colSplit, int rowSplit, int firstCellNum, int firstRollNum) {
this.colSplit = colSplit;
this.rowSplit = rowSplit;
this.firstCellNum = firstCellNum;
this.firstRollNum = firstRollNum;
}
@Override
public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
}
@Override
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
Sheet sheet = writeSheetHolder.getSheet();
sheet.createFreezePane(colSplit, rowSplit, firstCellNum, firstRollNum);
}
}
修改方案:
EasyExcel.write(path + fileName, ExportPojo.class)
.registerWriteHandler(new FreezeRowColHandler(4,2,4,2)) // 改的是这里,补全冻结参数。
.sheet("信息").doWrite(list);
修改之后,冻结表头就没问题了。office打开也没有提示信息了。
快速、简洁、解决大文件内存溢出的java处理Excel工具
最近提交(Master分支:2 个月前 )
c42183df
Bugfix 1 年前
efa7dff6 * 重新加回 `commons-io`
1 年前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)