gpt4 book ai didi

java - Jasper 将格式化文本传递为字段 Jasper 更改格式

转载 作者:行者123 更新时间:2023-11-30 07:39:17 25 4
gpt4 key购买 nike

我有一个像这样的简单报告:

enter image description here

我传递的信息格式如下:

{ 图片已删除 }

但是当我看到报告时,我看到一些完全随机或未格式化的内容,如下所示:

enter image description here

我想要文本的格式就像我从 Java 传递的一样。我做错了什么?

更新

periodoDisfrutado 是 java.lang.String 类型的字段,我从 Java 传递 java.lang.String:

enter image description here

我的Java类将数据发送到报告的方法:

enter image description here

我的 XML 文件是

<group name="empleado">
<groupExpression><![CDATA[$F{empleado}]]></groupExpression>
<groupHeader>
<band height="117">
<textField>
<reportElement x="7" y="8" width="547" height="20" forecolor="#FF0000"/>
<textElement>
<font isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["Empleado: " + $F{empleado}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="7" y="33" width="148" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA["Dias de Vacaciones/Año: " + $F{diasTotal}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="161" y="33" width="119" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA["Dias disfrutados: " + $F{gastados}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="281" y="33" width="105" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA["Dias restantes: " + $F{restantes}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
<reportElement x="176" y="59" width="378" height="56"/>
<textElement textAlignment="Left"/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{periodoDisfrutado}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="7" y="59" width="169" height="20"/>
<textElement/>
<text><![CDATA[Periodos de vacaciones disfrutados:]]></text>
</staticText>
</band>
</groupHeader>
</group>

最佳答案

正如我怀疑的那样,您正在传递一个带有分页符、空格和制表符的字符串。 Jasper 报告将不会尝试将格式设置为表格,它只会显示您的字符串,并且根据字体类型等,您将得到不同的结果。

如果您想创建表格格式而不是字符串,您需要传递 JRDataSource ,并使用例如子报表来显示数据。

注意:这也将极大地改进您的 Excel 导出功能。

设置此数据源的最佳方法取决于您当前使用的数据源类型,$F{periodoDisfrutado} 来自哪里?

关于java - Jasper 将格式化文本传递为字段 Jasper 更改格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34924967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com