You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JasperReports导出Excel时如何在pattern中指定自定义单位格式

Jasper Reports导出Excel自定义单位格式生效方案

你配置失效主要是XML中pattern的引号转义方式错误,以及要提前确认字段为数值类型,具体修正方法如下:

1. 前置检查

确保$F{attributeWithUnit}为数值类型(BigDecimal、Double、Integer均可),如果是字符串类型,Excel的单元格格式规则不会生效。

2. 修正pattern写法

Excel自定义格式中,固定文本用单引号包裹即可,不需要用"转义双引号,这种写法同时兼容Jasper的XML解析规则。
比如要实现5,74 €/h的欧标格式,pattern写为#.##0,00' €/h';要实现24,7 kg的格式,pattern写为#.##0,0' kg'。

3. 完整正确的jrxml配置

<textField isBlankWhenNull="true">
    <reportElement height="125" style="detail">
        <property name="net.sf.jasperreports.export.xls.pattern" value="#.##0,00' €/h'"/>
    </reportElement>
    <textFieldExpression><![CDATA[$F{attributeWithUnit}]]></textFieldExpression>
</textField>

4. 导出参数校验

如果修改后还是不生效,检查导出时的参数配置,确保net.sf.jasperreports.export.xls.cell.formatted参数值为true,该参数默认开启,若手动关闭会导致自定义格式不生效。

内容的提问来源于stack exchange,提问作者Nostra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:51:02