レポートをCSV形式のテキストファイルに出力できますか?

文書番号 : 33906     文書種別 : 使用方法     登録日 : 2012/11/21     最終更新日 : 2016/01/27
文書を印刷する
対象製品
ActiveReports for .NET 7.0J
詳細
ActiveReportsには、レポートの内容をCSV形式で出力する直接的な機能は用意されておりませんが、レポートをテキスト形式で出力するTextエクスポート機能を用いることで、それに近い動作は可能です。これはページレポート、セクションレポートの両方で使用可能です。

たとえば、TextエクスポートフィルタのTextDelimiterプロパティに","(カンマ記号)を設定すれば、各データがカンマ区切りでテキストファイルに出力されます。

Textエクスポート機能の使用方法については、製品ヘルプの以下のトピックをご覧ください。

ActiveReports ユーザーガイド
 - 基本操作
  - ページレポートの基本操作
   - ページレポートのエクスポート(エクスポートフィルタ)
  - セクションレポートの基本操作
   - セクションレポートのエクスポート

ただし、以下のような3つの制限事項があります。

  1. 文字列を""(引用符)で囲む機能は用意されておりません。


  2. ファイルへの出力順は、データ順ではなく、ページ上の出力位置に依存します。
    レポートをTextエクスポートフィルタでエクスポートした場合、テキストファイルには、データソースのレコード順に出力されるのではなく、ページ内の描画位置が上のものから順番に出力されます。

    たとえば、複数カラム形式のレポートをエクスポートした場合に、データソースのレコード順とファイルへの出力順が一致しない事象が発生することがございます。

    これらの動作は仕様によるものであり、変更する機能・方法は用意されておりません。


  3. レポートの形式によっては、出力データが存在しない箇所は区切り文字自体が出力されません。

    1. セクションレポートの場合

      TextBoxコントロールを使用する場合、データが存在しない(空文字の)項目に関しては、区切り文字のみが出力されます。

      しかしながら、Labelコントロールを使用する場合、データが存在しない項目に関しては、区切り文字自体が出力されません。申し訳ございませんが、Labelコントロールを使用する場合に、区切り文字のみを出力するような機能は用意されておりません。空白データを含めてCSVに出力する場合には、TextBoxコントロールをご使用ください。


    2. ページレポートの場合

      ページレポートの場合、データが存在しない(空文字の)項目に関して、区切り文字のみを出力するような機能は用意されておりません。

      空白データの部分も一項目としてCSVファイルにエクスポートする方法としては、コントロール上に何も文字が出力されない場合にダミー文字として半角スペースをセットする方法が考えられます。

      コントロールのValueプロパティに以下のような条件式を設定し、フィールドの値が空の場合に半角スペースが出力されるようにしてください。

      =IIF (Fields!FieldName.Value="", " ", Fields!FieldName.Value)

      FieldNameには、出力したいフィールド名が入ります。
関連情報
キーワード
HowTo エクスポート