2012-04-25 73 views
1

jasperレポートをCSVファイルに書き出すときに、テキストフィールドに改行文字が含まれていると、CSV内のレコードは1行ではなく2行で表示されます。 ジャスパーレポートの内部で設定できることはありますか?テキストフィールドに表示される改行文字は無視されますか? iReportを使用して、ジャスパーレポートをデザインします。どんな種類の助けにも感謝します。 ありがとうジャスパー・レポートで改行文字をテキスト・フィールドで無視させる方法を教えてください。

+0

[net.sf.jasperreports.csv.record.delimiter](http://jasperforge.org/uploads/publish/jasp/ erreportswebsite/trunk/config.reference.html#net.sf.jasperreports)を使用できます。 csv.record.deli miter)区切り文字を設定するプロパティ –

+0

区切り文字をjavaコードで設定しようとしました。 'code' JRPrintServiceExporterエクスポータ=新しいJRPrintServiceExporter(); exporter.setParameter(JRCsvExporterParameter.RECORD_DELIMITER、 "\ r \ n"); 'code' しかし、うまくいきませんでした。 – user613114

+0

二重引用符を使用しましたか?あなたは[csv形式のこの要件]を読むことができます(http://www.csvreader.com/csv_format.php) –

答えて

0

それは私にとって区切り文字のようなものではありません。ソースデータのどこかに新しい行があります。 JasperReportsはレポート内のデータをエクスポートするので、この新しい行の文字があります。

「abcdefg」という読み込み元データを持つことに似ています。実際には「d」という文字を嫌うと言われるので、生成されたCSVには表示したくありません。確かに...新しい行はいくつかの面で特別です...それはまだ文字です。

キャリッジリターンを取り除く(または取り除く)ようにCSVエクスポータを変更することができます。または、クエリを変更して削除することもできます。ソースがSQLの場合、これは簡単です。または、テキストフィールドの式を修正して削除することもできます。たとえば、改行文字を削除または置換するには、Apache Commons Lang StingUtilsを使用します。

+0

親愛なるmdahlman、私はそのperticular列の新しい行の文字を削除しようとしました。できます。しかし、私たちには多くの報告があり、各報告書の各列ごとに修正することは事実上不可能です。 CSVのエクスポートでは、JRCsvExporterを直接使用していません。私たちは内部のジャスパーレポートAPIに依存しています。とにかくJRCsvExporterを拡張してrequire機能を実装できるのであれば、私は考えていました。あなたはこの解決策にもっとヒントを与えることができますか? – user613114

+0

私は前にそのような拡張をしていません。確かに可能です...しかし、私は努力を見積もることはできません。私はJasperReportsフォーラムを尋ねることから始めます。またはここに新しい質問として投稿してください。誰かがそれをやり遂げた可能性が高いです。 – mdahlman

関連する問題