看來jasperreports 3.5.3可以使用兩種「excel作家」。默認導出程序是JRXlsExporter
,對於大文件不起作用(至少在我的Spring MVC項目中)。
解決方法是使用另一個基於JExcelAPI的導出器。我可以導出數據沒有這個問題。
製作jasperreport使用JExcelAPI進入Spring MVC安裝您必須編寫一個個性化的類。它非常簡單:
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.export.JExcelApiExporter;
import org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView;
// this is the view class you'll use, instead of JasperReportsXlsView
public class JasperReportsJExcelApiView extends AbstractJasperReportsSingleFormatView
{
// copied from JasperReportsXlsView
public JasperReportsJExcelApiView()
{
setContentType("application/vnd.ms-excel");
}
protected JRExporter createExporter()
{
// we create the JExcelAPIExporter, not the JRXlsExporter
return new JExcelApiExporter();
}
// copied from JasperReportsXlsView (I think it says: write binary data, not text)
protected boolean useWriter()
{
return false;
}
}
您需要在JExcelAPI 2.6發行版的類路徑中使用jxl.jar。
這是一個在3.6.0中修復的bug:http://jasperforge.org/projects/jasperreports/tracker/view.php?id=4014 – 2010-10-17 21:26:51