JSP响应内容types为Excel

当我设置响应内容types是excel。 在Excel表格中,它是在1 – 1月而不是在1-1。 这里是代码片段

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <% response.setContentType("application/vnd.ms-excel"); %> <table><tr><td>1-1</td></tr></table> 

追加单引号“'”将起作用。 有没有其他解决scheme来设置单元格格式或正确的文字?

您可以使用Apache POI项目将Excel文件返回到输出stream,这将允许您执行正确的数据/单元格格式化。

请参阅http://poi.apache.org/

这对你有用吗?

你用一个错误的内容types来欺骗web浏览器和Excel,并且你抱怨说Excel在Excel中不能正常工作?

这听起来不对。

如果你想要一个Excel文件,创build一个真正的Excel文件,而不是一个普通的HTML表格以及错误的内容types。 你可以使用前面提到的Apache POI HSSF或Andy Khan的JExcelAPI 。

作为替代scheme,您可以随时使用CSV。 更不透明,更容易。 您可以在这里find我最近发布的一个示例: 没有HTML代码的JSP页面,用于将数据导出到Excel工作表

我得到了快速workqround是

 <%@page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <% response.setContentType("application/vnd.ms-excel"); %> <table> <tr><td style='mso-number-format:"\@";'>1-1< /td></tr> </table> 

我们打算使用poi api。

谢谢大家。