Comma-Separated Values(CSV)はプレーンテキスト内の構造化されたデータの形式です。 CSVファイル内のテキストがコンマに区切られた値の系列として保存されます。レポートをこの形式に描画するためにCsvRenderingExtension を使用することができます。
レポートをCSV形式でエクスポートするには、プロジェクトに以下のパーケッジを追加します。
レポートをCSV形式でエクスポートする方法の一例を以下に示します。
| Visual Basicコード(Form Loadイベント内に貼り付けます。) | 
                     
                        コードのコピー
                     
                 | 
            
|---|---|
                    ' 描画するページレポートを指定します。 Dim report As New GrapeCity.ActiveReports.PageReport() Dim reportDocument As New GrapeCity.ActiveReports.Document.PageDocument(report) ' 出力先のディレクトリを作成します。 Dim outputDirectory As New System.IO.DirectoryInfo("C:\MyCSV") outputDirectory.Create() ' エクスポートの各種設定を行います。 Dim csvSettings As New GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension.Settings() csvSettings.ColumnsDelimiter = "," csvSettings.Encoding = System.Text.Encoding.UTF8 csvSettings.NoHeader = "True" csvSettings.QuotationSymbol = """"c csvSettings.RowsDelimiter = vbCr & vbLf ' RenderingExtensionを使用し、レポートをエクスポートします。 Dim csvRenderingExtension As New GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension() Dim outputProvider As New GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name)) ' 出力ファイルがすでに存在する場合は上書きします。 outputProvider.OverwriteOutputFile = True reportDocument.Render(csvRenderingExtension, outputProvider, csvSettings)  | 
            |
| C#コード(Form_Loadイベント内に貼り付けます。) | 
                     
                        コードのコピー
                     
                 | 
            
|---|---|
                    // 描画するページレポートを指定します。 GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(); GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report); // 出力先のディレクトリを作成します。 System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyCSV"); outputDirectory.Create(); // エクスポートの各種設定を行います。 GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension.Settings csvSettings = new GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension.Settings(); csvSettings.ColumnsDelimiter = ","; csvSettings.Encoding = Encoding.UTF8; csvSettings.NoHeader = "True"; csvSettings.QuotationSymbol = '"'; csvSettings.RowsDelimiter = "\r\n"; // RenderingExtensionを使用し、レポートをエクスポートします。 GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension csvRenderingExtension = new GrapeCity.ActiveReports.Export.Text.Page.CsvRenderingExtension(); GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name)); // 出力ファイルがすでに存在する場合は上書きします。 outputProvider.OverwriteOutputFile = true; reportDocument.Render(csvRenderingExtension, outputProvider, csvSettings);  | 
            |
ActiveReportsには、レポートをCSVにどのようにレンダリングするかを制御するオプションが用意されています。
| プロパティ | 説明 | 
|---|---|
| ColumnsDelimiter | 区切り文字を設定します。 | 
| DateTimeFormat | 日付データの書式を設定します。(例) "MM/dd/yyyy H:mm" | 
| Encoding | 出力ファイルのエンコードを設定します。 | 
| NoHeader | 出力からヘッダー行を除外するかどうかを設定します。 | 
| NumericFormat | 数値データの書式を設定します。(例) "0.####" | 
| QuotationMode | "AutoQuote"は、データに応じて自動でテキスト修飾子を追加します。"AlwaysQuote"は、必ずテキスト修飾子を追加します。 | 
| QuotationSymbol | テキスト修飾子を設定します。 | 
| RowsDelimiter | 改行コードを設定します。 |