[英]Excel datasource in JasperReports/iReport: Unable to get value for field 'Date' of class 'java.sql.Date'
[英]iReport (JasperReports) extra row issue
當我從數據庫導入數據並在 Excel 工作表中格式化報告時,我在數據之間得到一個額外的空行。
編輯(來自評論的澄清):Excel 中的輸出顯示記錄之間的額外空白行和字段之間的額外空白列。
net.sf.jasperreports.export.xls.remove.empty.space.between.columns
和net.sf.jasperreports.export.xls.remove.empty.space.between.rows
屬性添加到報告模板。 net.sf.jasperreports.export.xls.remove.empty.space.between.columns
-指定是否應刪除空的間隔列。
net.sf.jasperreports.export.xls.remove.empty.space.between.rows
-指定是否應刪除空的間隔行。
樣品:
<jasperReport ...>
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
有關配置屬性的信息在這里。
如果當前textField為空,如何刪除整行的示例:
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="100" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<textFieldExpression><![CDATA[$F{field}]]></textFieldExpression>
</textField>
如果這種設計:
您將在任何兩行之間有一個空格。
如果這種設計( textField高度等於Band 的高度):
每條線將完全在另一條線下方。
Alex K 在 11 年 12 月 2 日的回答中陳述的每件事都是正確的。 但其他一些設置可能會有所幫助。 當報表文本擴展詳細信息范圍時,這些設置會有所幫助。
在詳細信息帶集中的每個字段上:
位置類型=“浮動”
拉伸類型="RelativeToTallestObject"
例子:
<detail>
<band height="20" splitType="Prevent">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" mode="Transparent" x="372" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{your column name}]]></textFieldExpression>
</textField>
這將強制所有字段為一個高度。 浮動設置告訴字段最小化前一行和下一行之間的距離。 RelativeToTallestObject 設置告訴帶區中的所有字段與最高字段的高度相同。 這兩個設置有助於消除在 Excel 中顯示為不需要的單元格的“空白空間”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.