【发布时间】:2015-08-25 12:59:44
【问题描述】:
我正在尝试导出内容类型错误的 CSV 文件,以便在 Excel 中打开它。当对象的值为 2.0 时,在 Excel 工作表中它只显示 2。它只是省略了十进制值。当值为 2.1、2.2 等时,它工作正常。
2.0、3.0的时候问题就来了。
StringBuffer sb= new StringBuffer();
sb.append("2.0");
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext()
.getResponse();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=Test.csv");
response.getOutputStream().write(sb.toString().getBytes(Charset.forName("UTF-8")));
response.getOutputStream().flush();
response.getOutputStream().close();
FacesContext.getCurrentInstance().responseComplete();
这是怎么引起的,我该如何解决?
【问题讨论】:
-
我在 Excel 中找不到您输入的代码。
-
response.getOutputStream().write(sb.toString().getBytes(Charset.forName("UTF-8")));
-
这似乎是 Excel“问题”而不是 Java 问题。