导出到 excel 时如何在模式中指定自定义单位格式?
How to specify custom units format in pattern when exporting to excel?
我想使用 jasper 报告生成一个 excel 报告,该报告可以选择在列中包含 units/currencies。
喜欢第 1 栏:5,74 €/h 和第 2 栏:24,7 kg.
在 excel 中,我可以将此模式输入为 #.##0,00" €/h"
但是在 jrxml 中使用相同的模式
<textField isBlankWhenNull="true">
<reportElement height="125" style="detail">
<property name="net.sf.jasperreports.export.xls.pattern" value="#,##0" €/h""/>
</reportElement>
<textFieldExpression><![CDATA[$F{attributeWithUnit}]]></textFieldExpression>
</textField>
不起作用,excel 无法理解,因此使整个列变形或 sheet 并给出错误。
如何 can/should 我如何格式化此 jasper 导出 excel 以了解如何格式化它?
您遇到的问题是,对于导出引擎,您实际上需要传递 #,##0" €/h"
而不是 #,##0" €/h"
,并且由于属性被解析,它被转换为 #,##0" €/h"
在你开始之前一定要启用xls.detect.cell.type
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
并确保您的字体能够正确显示欧元符号。
使用 jasper-reports 版本 6.4 以上
使用 CDATA 标签
<textField>
<reportElement x="0" y="0" width="180" height="30" uuid="a5698aa9-a36e-444d-b590-3340250059a1">
<property name="net.sf.jasperreports.export.xls.pattern">
<![CDATA[#,##0.0" €/h"]]>
</property>
</reportElement>
<textFieldExpression><![CDATA[1235]]></textFieldExpression>
</textField>
6.4 之前的版本
您需要对 &
进行转义,以便在传递给导出时它是正确的 &
因此格式字符串变为 #,##0.0&quot; €/h&quot;
<textField>
<reportElement x="0" y="0" width="180" height="30" uuid="a5698aa9-a36e-444d-b590-3340250059a1">
<property name="net.sf.jasperreports.export.xls.pattern" value="#,##0.0&quot; €/h&quot;"/>
</reportElement>
<textFieldExpression><![CDATA[1236]]></textFieldExpression>
</textField>
我想使用 jasper 报告生成一个 excel 报告,该报告可以选择在列中包含 units/currencies。
喜欢第 1 栏:5,74 €/h 和第 2 栏:24,7 kg.
在 excel 中,我可以将此模式输入为 #.##0,00" €/h"
但是在 jrxml 中使用相同的模式
<textField isBlankWhenNull="true">
<reportElement height="125" style="detail">
<property name="net.sf.jasperreports.export.xls.pattern" value="#,##0" €/h""/>
</reportElement>
<textFieldExpression><![CDATA[$F{attributeWithUnit}]]></textFieldExpression>
</textField>
不起作用,excel 无法理解,因此使整个列变形或 sheet 并给出错误。
如何 can/should 我如何格式化此 jasper 导出 excel 以了解如何格式化它?
您遇到的问题是,对于导出引擎,您实际上需要传递 #,##0" €/h"
而不是 #,##0" €/h"
,并且由于属性被解析,它被转换为 #,##0" €/h"
在你开始之前一定要启用xls.detect.cell.type
<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
并确保您的字体能够正确显示欧元符号。
使用 jasper-reports 版本 6.4 以上
使用 CDATA 标签
<textField>
<reportElement x="0" y="0" width="180" height="30" uuid="a5698aa9-a36e-444d-b590-3340250059a1">
<property name="net.sf.jasperreports.export.xls.pattern">
<![CDATA[#,##0.0" €/h"]]>
</property>
</reportElement>
<textFieldExpression><![CDATA[1235]]></textFieldExpression>
</textField>
6.4 之前的版本
您需要对 &
进行转义,以便在传递给导出时它是正确的 &
因此格式字符串变为 #,##0.0&quot; €/h&quot;
<textField>
<reportElement x="0" y="0" width="180" height="30" uuid="a5698aa9-a36e-444d-b590-3340250059a1">
<property name="net.sf.jasperreports.export.xls.pattern" value="#,##0.0&quot; €/h&quot;"/>
</reportElement>
<textFieldExpression><![CDATA[1236]]></textFieldExpression>
</textField>