从Web应用程序导出到Excel不起作用

时间:2014-02-05 15:21:04

标签: java excel jsp gwt

我有一个非常奇怪的问题,我希望你可以帮助我

在工作中,我们使用由框架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上。 任何想法为什么会发生这种情况??

0 个答案:

没有答案