2

当我设置响应内容类型为 excel 时。在 excel 表中,它显示的是 1-Jan 而不是 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>

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

4

3 回答 3

4

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

http://poi.apache.org/

这对你有用吗?

于 2009-11-19T15:15:00.723 回答
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

于 2009-11-19T15:19:11.417 回答
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。

谢谢大家。

于 2009-11-19T15:27:43.067 回答