【问题标题】:Excel cell format from jasper report with spring来自jasper报告的Excel单元格格式与弹簧
【发布时间】:2015-07-30 22:02:00
【问题描述】:

我们有一个内部遗留 Java 库,可以使用 jasper+spring 生成报告并将它们导出为 html、pdf 或 xls。 但是 excel 文件的所有单元格都具有相同(无)格式 我们有一份报告,其中一列填充了文本,并且担心它可能被解释为具有数值或其他类型代码的公式。同样,我们有应出现在报告中的带有前导零的字符串。 我尝试通过 jasperExportParameters 将 JExcelApiExporterParameter.IS_DETECT_CELL_TYPE 设置为 true。

报表配置通过xml完成​​,如下所示:

<bean id="jasperReportHeader" class="java.lang.String">
    <constructor-arg>
        <value>
        <![CDATA[
            <html>
        ]]>
        </value>
    </constructor-arg>
</bean>

<bean id="jasperExportParameters" class="java.util.HashMap">
    <constructor-arg>
        <map>
            <entry
                  key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN"
                value="false" />
            <entry
                key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IMAGES_URI">
                <value><![CDATA[utils.jasper?opcion=muestraImagen&image=]]></value>
            </entry>
            <entry
                key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.HTML_HEADER">
                <ref bean="jasperReportHeader" />
            </entry>
            <entry
                key="net.sf.jasperreports.engine.export.JRHtmlExporterParameter.HTML_FOOTER">
                <ref bean="jasperReportFooter" />
            </entry>
            <entry
                key="net.sf.jasperreports.engine.export.JRCsvExporterParameter.FIELD_DELIMITER"
                value="|" />
            <entry
                key="net.sf.jasperreports.engine.export.JExcelApiExporterParameter.IS_DETECT_CELL_TYPE"
                value="true" />
        </map>
    </constructor-arg>
</bean>

<bean id="jasperReportFooter" class="java.lang.String">
    <constructor-arg>
        <value>
        <![CDATA[
      </html>
        ]]>
        </value>
    </constructor-arg>
</bean>

<!-- REPORTES -->

<bean id="solicitudRevisionView"
    class="mx.org.rfe.ife.siirfe.comun.web.spring.views.jasper.CustomJasperReportsMultiFormatView">
    <property name="url" value="/WEB-INF/reportes/SOLICITUD_REVISION.jasper" />
    <property name="exporterParameters" ref="jasperExportParameters" />
</bean>

如何告诉 jasper 用文本格式格式化单元格? 真的可行吗?

这个库使用 jasper 4.6.0,但如果需要,我可以迁移。 我们的报告已使用 iReport 3.7.6 进行了编辑。

【问题讨论】:

    标签: excel spring jasper-reports


    【解决方案1】:

    Jasperreports 不会将您的单元格解释为公式,除非您 tell 它是这样的。另一方面,我猜你的导出器参数没有正确设置映射声明输入CustomJasperReportsMultiFormatView。而不是地图声明,我期待更像

    <bean id="solicitudRevisionView"
    class="mx.org.rfe.ife.siirfe.comun.web.spring.views.jasper.CustomJasperReportsMultiFormatView">
    <property name="url" value="/WEB-INF/reportes/SOLICITUD_REVISION.jasper" />
    <property name="exporterParameters">
     <props>
       <prop name="net.sf.jasperreports.export.xls.detect.cell.type">true</prop>
     </props>
    </property>
    

    因为您的 spring xml 配置文件中的 Java 常量,如 net.sf.jasperreports.engine.export.JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,除非您在不同的 way 中执行,否则不会被评估。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多