2009-11-19 94 views
2

当我设置响应内容类型是excel。在Excel表格中,它是在1-Jan而不是1-1中进行的。 这里是代码片段JSP响应内容类型Excel

<%@ 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> 

追加单引号“'”将工作。有没有其他解决方案来设置单元格格式或正确的文本?

回答

4

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

http://poi.apache.org/

会为你工作?

3

你在用一个错误的内容类型纯粹的HTML表格欺骗了webbrowser和Excel,并且你抱怨说,由于Excel的特定行为,它在Excel中不能很好地工作吗?

这听起来不对。

如果您需要Excel文件,请创建一个真正的Excel文件,而不是纯HTML表格以及错误的内容类型。你可以使用前面提到的Apache POI HSSF或Andy Khan的JExcelAPI

作为替代方案,您可以随时使用CSV。不透明和更容易。你可以在这里找到我最近发布了一个例子:JSP page without HTML code for exporting data to Excel Sheet

1

我得到了快速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。

感谢所有。

+0

现在您正在应用Excel版本特定的解决方法?你真的需要匆忙与POI。 – BalusC 2009-11-19 15:43:22

相关问题