使用Spring 3.0.5将Jasper Reports导出为XLSX格式

时间:2012-03-05 20:02:18

标签: java spring jasper-reports xlsx

我正在使用Spring MVC 3.0.5版本,并有报告将报告导出为PDF和XLS。但最近我面临着XLS报告的问题,因为它不支持65,000多行。因此我现在需要导出到XLSX foramt。

目前,Spring为XLS,PDF,HTML,CSV以及称为多格式视图的内容提供了Jasper视图

这就是我们目前配置视图的方式

<bean id="xlsReport"  class="org.springframework.web.servlet.view.jasperreports.JasperReportsXlsView">
    <property name="url"
        value="/WEB-INF/classes/jasper/FinanceReport.jrxml" />
    <property name="reportDataKey" value="datasource" />
</bean>

根据我的发现,Spring中没有可用于XLSX导出的视图?除了使用JRXlsAbstractExporter和更改实现(我在其他论坛中看到的被许多人称为解决方案)之外,有没有人能够实现这一目标的解决方案/其他方式。

提前致谢,

与Ashish

1 个答案:

答案 0 :(得分:1)

在寻找答案时,我发现了这个18个月未回答的问题。这可能意味着我们需要自己动手。这似乎有效:

定义:

<bean id="xlsxReport" class="com.foo.bar.report.JasperReportsXlsxView" p:url="classpath:reports/foobar.jrxml"/>

上课:

public class JasperReportsXlsxView extends AbstractJasperReportsSingleFormatView {

    @Override
    protected JRExporter createExporter() {
        return new JRXlsxExporter();
    }

    @Override
    protected boolean useWriter() {
        return false;
    }

    public JasperReportsXlsxView() {
        setContentType("application/vnd.ms-excel");
    }
}