我正在使用 JasperReports 4.6.0 和 JDK 1.6 来生成我的 .docx 报告。
Jasper 实际上默认以单列表的形式生成报告,其中每个组件(例如 TextField)占用一行。我在目前情况下面临的问题是,每当我想编辑我的输出报告并在某些文本字段中手动添加新行时,我必须通过加宽表格行来加宽给定文本字段的高度(即单击并滑动) .
这似乎是一项乏味的任务。所以我查看了一个随意的 MS Word 表格的属性,我注意到一个名为“指定高度”的属性
] 1
这在我的碧玉输出报告中默认启用。如果禁用,可以简单地添加一个 CR,下面的所有行也会移动。话虽如此,我想在我的 jasper 中禁用此属性(无论是来自 java 还是 jrxml)。
这是我的 jrxml :
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="profile_report" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="0" bottomMargin="0" uuid="40a9d14e-f38a-4588-b1d3-216588ae5e9a">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<style name="backgroundStyle" mode="Opaque" backcolor="#009AB7" forecolor="#FFFFFF"/>
<parameter name="experience" class="java.lang.String"/>
<parameter name="skills" class="java.lang.String"/>
<parameter name="skillsDataSource" class="java.util.List"/>
<parameter name="subreport_mainCat_parameter" class="net.sf.jasperreports.engine.JasperReport"/>
<parameter name="subreport_subCat_parameter" class="net.sf.jasperreports.engine.JasperReport"/>
<parameter name="subreport_skill_parameter" class="net.sf.jasperreports.engine.JasperReport"/>
<detail>
<band height="50">
<textField isStretchWithOverflow="true">
<reportElement positionType = "Float" x="50" y="0" width="455" height="20" uuid="ce308940-e950-4d33-97b9-47d6fb10ee08"/>
<textElement>
<font size="10" />
<paragraph lineSpacingSize="0"/>
</textElement>
<textFieldExpression><![CDATA[$P{experience}]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType = "Float" style="backgroundStyle" x="50" y="22" width="455" height="20" uuid="ce308940-e950-4d33-97b9-47d6fb11ee08"/>
<textElement>
<font fontName="Calibri" size="12" />
<paragraph lineSpacingSize="0"/>
</textElement>
<textFieldExpression><![CDATA[$P{skills}]]></textFieldExpression>
</textField>
<subreport>
<reportElement positionType = "Float" x = "50" y = "44" width = "455" height = "3" isRemoveLineWhenBlank = "true" backcolor = "#99ccff"/>
<subreportParameter name="subreport_subCat_parameter">
<subreportParameterExpression><![CDATA[$P{subreport_subCat_parameter}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="subreport_skill_parameter">
<subreportParameterExpression><![CDATA[$P{subreport_skill_parameter}]]></subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{skillsDataSource})]]></dataSourceExpression>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{subreport_mainCat_parameter}]]></subreportExpression>
</subreport>
</band>
</detail>
</jasperReport>