0

必须用 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 个字符。

想法?

谢谢

佐姆

4

1 回答 1

3

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

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

编辑:设置该属性后,您的字段宽度可以是任何正值。您无需担心使它们足够宽以容纳文本而无需换行。

于 2012-07-12T21:31:20.227 回答