使用JasperReports生成csv

时间:2012-07-12 13:10:26

标签: jasper-reports

必须使用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

1 个答案:

答案 0 :(得分:2)

JasperReports当然可以生成CSV文件。但如果这是你唯一的目标,那么有比JR更好的选择。它比你需要的要大得多。

为避免像现在这样设置愚蠢的宽度,您应该设置属性net.sf.jasperreports.print.keep.full.text

编辑:使用该属性设置,然后您的字段宽度可以是任何正值。你不需要担心它们的宽度足以容纳文本而不需要包装。