如何在 docx 中禁用 "Specify Height" 属性?
How to disable "Specify Height" property in docx?
我正在使用 JasperReports 4.6.0 和 JDK 1.6 生成我的 .docx 报告。
Jasper 实际上默认以一列的形式生成报告 table,其中每个组件(例如 TextField)占一行。我在目前情况下面临的问题是,每当我想编辑我的输出报告并在某些文本字段中手动添加一个新行时,我必须通过加宽 table 行来加宽给定文本字段的高度(即单击并滑动)。
这似乎是一项繁琐的工作。所以我查看了一个随意的 MS Word table 的属性,我注意到一个名为 "Specify height"
的 属性
]1
在我的 jasper 输出报告中默认启用。如果禁用,可以简单地添加一个 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>
要禁用“指定高度”属性,您应该设置属性
net.sf.jasperreports.export.docx.flexible.row.height=true
,默认为false
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="report4" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="afeb1e80-f428-4ec0-930e-64d32f4d7e57">
<property name="net.sf.jasperreports.export.docx.flexible.row.height" value="true"/>
....
</jasperReport>
IDE (JasperSoft Studio)
Select report in in outline, in properties switch to tab advanced, click the button that appear when you select the properties property
This opens a dialog, press "add", and insert the property
我正在使用 JasperReports 4.6.0 和 JDK 1.6 生成我的 .docx 报告。
Jasper 实际上默认以一列的形式生成报告 table,其中每个组件(例如 TextField)占一行。我在目前情况下面临的问题是,每当我想编辑我的输出报告并在某些文本字段中手动添加一个新行时,我必须通过加宽 table 行来加宽给定文本字段的高度(即单击并滑动)。
这似乎是一项繁琐的工作。所以我查看了一个随意的 MS Word table 的属性,我注意到一个名为 "Specify height"
的 属性在我的 jasper 输出报告中默认启用。如果禁用,可以简单地添加一个 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>
要禁用“指定高度”属性,您应该设置属性
net.sf.jasperreports.export.docx.flexible.row.height=true
,默认为false
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="report4" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="afeb1e80-f428-4ec0-930e-64d32f4d7e57">
<property name="net.sf.jasperreports.export.docx.flexible.row.height" value="true"/>
....
</jasperReport>
IDE (JasperSoft Studio)
Select report in in outline, in properties switch to tab advanced, click the button that appear when you select the properties property
This opens a dialog, press "add", and insert the property