【发布时间】: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