我有一个非常奇怪的问题,我希望你可以帮助我
在工作中,我们使用由框架GWT制作的Web应用程序,并且所有销售报告都可以选择将数据导出到Excel。它通常工作正常,但报告的行数超过15-20万行,excel文件只在第一个单元格上打开,单词“null”。 在代码中,我们使用JSP将数据作为html和StringBuffer对象发送,以附加html的所有文本。这里是发送html的方法:
public void export(final String psFormat) {
manageStartOfCall();
String lsFileName = "resources/system/excel_file.jsp";
final DynamicForm loForm = new DynamicForm();
loForm.setAction(lsFileName);
loForm.setMethod(FormMethod.POST);
loForm.setCanSubmit(true);
final TextAreaItem loDataToExport = new TextAreaItem("psExcelData");
final Window loExcelWindow = new Window();
loExcelWindow.setWidth(5);
loExcelWindow.setHeight(5);
loExcelWindow.addItem(loForm);
addChild(loExcelWindow);
new Timer() {
public void run() {
cancel();
loDataToExport.setValue(moHeader.getHeaderAsExcel() + "<br><br>" + moReportGrid.getDataAsHTML());
loForm.setFields(loDataToExport);
new Timer() {
public void run() {
cancel();
manageEndOfCall();
loForm.submit();
loExcelWindow.destroy();
}
}.schedule(200);
}
}.schedule(200);
}
我已经调试了getDataAsHTML方法,并且它返回的字符串很好,它包含正确的HTML,但是当我在JSP中调用方法getParameter时,返回一个空值。这里是JSP的代码:
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=eYumReport.xls");
String msDataToExcel = request.getParameter("psExcelData");
%>
<html>
<head>
<title>Data to excel</title>
</head>
<body>
<%=msDataToExcel %>
</body>
</html>
我可能不得不提到我在Firefox 26,GWT 2.1,smartGWT 2.4,Windows 7 Professional上使用它,而Web应用程序在Windows Server 2008上,安装在Apache 6上。 任何想法为什么会发生这种情况??