response.reset();
response.setHeader("Content-Disposition", "attachment;filename=\"" + "test.xls\"");
response.setHeader("Content-Transfer-Encoding", "binary");
response.setContentType("application/vnd.ms-excel");
InputStream is = new FileInputStream(realPath);
//OutputStream outStream = response.getOutputStream();
JasperPrint jasperPrint = JasperFillManager.fillReport(is,
parameters, new JRBeanCollectionDataSource(pdfList));
JRAbstractExporter exporter = new JExcelApiExporter();
exporter.setParameter(JExcelApiExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JExcelApiExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
exporter.setParameter(JExcelApiExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporter.setParameter(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.setParameter(JExcelApiExporterParameter.OUTPUT_STREAM, out);
exporter.exportReport();
outStream.flush();
outStream.close();
out.clear();
out =pageContext.pushBody();
%>
我们使用上面的代码来生成Excel成功脱颖而出,和它运作良好,在Tomcat中+ Windows,但之后我们上传到Linux +的WebLogic Server,Excel的损坏。我用文本编辑器打开excel,发现它在excel中增加了几个空行,这导致excel无法打开成功,任何人都可以指向我正确的方向?为什么有空间?它是如何来的?不能导出在weblogic 11 + LINUX
在此先感谢!
+0
你能分享一个由Linux系统和Windows系统生成的简单.xls吗? –
+0
不同之处在于linux中有几个空行,其中一行删除之后,就可以成功打开 –
+0
否则它的xml文件是否正确? –