最近从 poi-2.5.1 升级到 poi-4.1.2 并且正在发生的事情是在生成的 .xls 文件中插入一个空白行作为第一行。这是通过比较从 poi-2.5.1 创建的文件与从 poi-4.1.2 生成的文件来确定的。手动删除第一行时,我可以正常打开电子表格,但文件中的第一行会出现错误,文件格式和扩展名不匹配。
我的应用程序在 weblogic-12.2.1.4 中运行,它采用正在向用户显示的表格并在下载给用户的 jsp 中创建一个 excel 电子表格。
我试过搜索这个问题,我能找到的是如何在阅读电子表格时删除该行。
编码
OutputStream output = response.getOutputStream();
response.setHeader("Expires", "0");
response.setHeader("Pragma", "private");
response.setHeader("Content-Disposition","attachment;filename=" + tableId + "xls");
response.setContentType("application/x-download; charset=UTF-8");
Workbook book = new HSSFWorkbook();
CreationHelper createHelper = book.getCreationHelper();
Sheet sheet = book.createSheet();
...
...
...
book.write(output);
output.close();
我在代码片段之前添加了out.clear()
andresponse.reset()
并没有帮助。
我也试过评论后的一切
Workbook book = new HSSFWorkbook();
然后做book.write(output);
,我仍然得到空白行。
这是仅Workbook book = new HSSFWorkbook();
在 Notepad++ 中查看
的输出 输出在 Notepad++ 中的样子