JasperReports - 导出到 Excel 时无法识别数值

Posted

技术标签:

【中文标题】JasperReports - 导出到 Excel 时无法识别数值【英文标题】:JasperReports - Numerical Values Are Not Recognized When Exporting to Excel 【发布时间】:2011-10-16 08:42:29 【问题描述】:

我在 iReport 中创建了一个包含数值的报告。这些值的类型是 java.math.BigDecimal。将报告导出到 xls(使用 iReport)后,包含这些数字的单元格被正确识别。可以更改数字格式,添加小数位等。为此,我在报告定义中添加了以下行:

<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>

我的问题是导出到 Excel 在服务器(JasperServer 4.1.0)上不起作用。我已经更改了文件 jasperreports.properties 中的属性 net.sf.jasperreports.export.xls.detect.cell.type=true。不幸的是,这并没有解决问题。我还检查了 spring-bean xlsExportParameter 并且属性 detectCellType 也设置为 true。我是否遗漏了什么或者服务器上的导出器有问题?

非常感谢!

【问题讨论】:

【参考方案1】:

您可以尝试更改 applicationContext.xml 文件中的 detectCellType 属性(您可以找到它在 JasperServer 的 jasperserver\WEB-INF\ 文件夹中)。

<bean id="xlsExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.XlsExportParametersBean">
    <property name="detectCellType" value="true"/>
    <property name="onePagePerSheet" value="false"/>
    <property name="removeEmptySpaceBetweenRows" value="true"/>
    <property name="removeEmptySpaceBetweenColumns" value="true"/>
    <property name="whitePageBackground" value="false"/>
    <property name="ignoreGraphics" value="true"/>
    <property name="collapseRowSpan" value="true"/>
    <property name="ignoreCellBorder" value="true"/>
    <property name="fontSizeFixEnabled" value="true"/>
    <property name="maximumRowsPerSheet" value="0"/>
    <property name="xlsFormatPatternsMap" ref="formatPatternsMap"/>
</bean>

【讨论】:

我已经在 applicationContext.xml 中设置了 detectCellType 的值,并且它也设置为 true。

以上是关于JasperReports - 导出到 Excel 时无法识别数值的主要内容,如果未能解决你的问题,请参考以下文章

POI与jasperReports的关系

在 Linux 上使用 JasperReports 获取损坏的 Excel 文件

JasperReports xlsx 导出错误 - 内容不可读 - 为啥?

JasperReports 服务器:如何使用 url 将报告导出为 html 文件

jasperreports-server中的示例报表是怎么制作的

如何使用jsp显示excel,避免“没有输入源提供给导出器”。