Excel poi 设置单元格格式 发现不可读内容 已修复的记录: /xl/worksheets/sheet1.xml 部分的问题(巨坑)

发布时间 2023-12-25 19:12:41作者: oktokeep

Excel poi 设置单元格格式 发现不可读内容 已修复的记录: /xl/worksheets/sheet1.xml 部分的问题(巨坑)

1.先设置值,后设置样式。 正确的是:先设置样式,后设置值。
2.对象A的样式应用于对象B的样式,导致报错。 正确的是:对象A应用对象A的样式,对象B应用对象B的样式。
private HSSFWorkbook wb;
/**
* 大量数据导出
*/
private SXSSFWorkbook _wb;


SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(ROW_ACCESS_WINDOW_SIZE);
通过sxssfWorkbook对象传递进入,需要赋予该对象的样式。


情况1:没设置contentLenth
InputStream resourceAsStream = ExcelUtils.class.getResourceAsStream("/template/" + fileName);
response.setHeader("Content-Length", String.valueOf(resourceAsStream.available())); //没设置contentLenth
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
OutputStream ouputStream = response.getOutputStream();


情况2: cellStyle 作用域
如果workbookA 创建了一个cellStyle ,你将此cellStyle放置于static HashMap中,然后你将此cellStyle应用于 workBookB 也会报这个错误。