我必须使用JasperReports生成一个简单的csv文件。
哪个是最简单的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="report5a"
language="groovy">
<field name="col1" class="java.lang.String"/>
<field name="col2" class="java.lang.Integer"/>
<field name="col3" class="java.lang.Integer"/>
<field name="col4" class="java.lang.String"/>
<detail>
<band height="16">
<textField>
<reportElement x="0" y="0" width="1000" height="15"/>
<textFieldExpression><![CDATA[$F{col1}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="1000" y="0" width="1000" height="15"/>
<textFieldExpression><![CDATA[$F{col2}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="2000" y="0" width="1000" height="15"/>
<textFieldExpression><![CDATA[$F{col3}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="3000" y="0" width="1000" height="15"/>
<textFieldExpression><![CDATA[$F{col4}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
它正在工作,但为什么我必须提供宽度或高度参数??? 如果x和width属性太低,则会剪切值。例如,如果所有值(前面提到的)除以1000,那么结果将只包含4个字符。
想法?
由于
Zsom
答案 0 :(得分:2)
JasperReports当然可以生成CSV文件。但如果这是你唯一的目标,那么有比JR更好的选择。它比你需要的要大得多。
为避免像现在这样设置愚蠢的宽度,您应该设置属性net.sf.jasperreports.print.keep.full.text。
编辑:使用该属性设置,然后您的字段宽度可以是任何正值。你不需要担心它们的宽度足以容纳文本而不需要包装。