Java中Excel报表中的编码已损坏



在我的应用程序中,用户可以下载excel报告。当用户使用FF下载xls时,编码很好,变音显示正确。如果用户在IE和Chrome中也这样做,那么xls中的元音变音符就会被破坏。

Excel报告是在servlet中使用Apache POI v3.10.1生成的,并且每次都填充相同的数据。但是在FF和IE(或Chrome)中下载的xls文件是不同的。

知道为什么吗?

顺便说一句,我试图在响应标头中设置编码

response.setHeader("Content-Type", "application/vnd.ms-excel; charset=UTF-8");

但没有成功。

UPD 03.04.servlet中的一段代码:

OutputStream out = response.getOutputStream(); ... response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment; filename="" + fileName + ".xls" + """); ... workbook.write(out);

IE无法理解您的response.setHeader("Content-Type", "application/vnd.ms-excel; charset=UTF-8");。请尝试response.setContentType("application/vnd.ms-excel");。它适用于我的IE8和FF35。

最新更新