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 に答える