C# を使用して Datatable を CSV に変換する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXLを使ってC#でDataTableをCSVに変換するには、WまたはkBookを作成し、DataTableの行を入力し、SaveAsCsv()メソッドを呼び出します。

クイックスタート: DataTableからCSVへの一行エクスポート

IronXLを使用して、充填されたDataTableを1つのメソッド呼び出しでCSVファイルに変換します。 必要なのは、WまたはkBookとそのDefaultWまたはkSheetだけで、SaveAsCsvを使って数秒でエクスポートできます。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronXL をインストールします

    PM > Install-Package IronXL.Excel

  2. このコード スニペットをコピーして実行します。

    IronXL.WまたはkBook.Create().DefaultWまたはkSheet.SaveAsCsv("output.csv", ",");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう
    arrow pointer

ステップ1

プロジェクトにIronXLをインストールするには? アプリケーションで使用する前にIronXLをインストールする必要があります。 IronXLはあなたのプロジェクトに複数のインストールオプションを提供します。 IronXLは、Microsoft ExcelやInteropのインストールを必要とせず、[C#](https://ironsoftware.com/csharp/excel/tutまたはials/create-excel-file-net/) でExcelファイルを扱うことを簡素化するライブラリです。 ### どのインストール方法を使用すべきですか? 以下のリンクから公式サイトからダウンロードしてください:[https://ironsoftware.com/csharp/excel/docs/](https://ironsoftware.com/csharp/excel/docs/) または * Visual Studioで、プロジェクトメニューを選択 * NuGetパッケージの管理をクリック * IronXL.Excelを検索 * インストールをクリックします ### どの NuGet コマンドを使用すればよいですか? ```shell :ProductInstall ``` ### なぜNuGetパッケージマネージャを選ぶのですか? NuGetは、依存関係を自動的に管理し、ライブラリを最新の状態に保つため、.NET開発者に好まれる方法です。 IronXLパッケージには、[スプレッドシート・ファイル・タイプの変換](https://ironsoftware.com/csharp/excel/how-to/convert-spreadsheet-file-types/)やさまざまなExcelフォーマットでの作業に必要なコンポーネントがすべて含まれています。

チュートリアル

## `データテーブル`を作成して CSV にエクスポートするには? `DataTable`をCSVに変換するプロセスでは、`WまたはkBook`を作成し、そこにデータを入力し、IronXL組み込みの[CSV書き込み機能](https://ironsoftware.com/csharp/excel/how-to/csharp-write-to-csv-file/)を使用します。 このアプローチは、手作業でCSV文字列を構築したり、従来のファイルストリーミング手法を使用したりするよりも効率的です。 ### どの名前空間をインポートする必要がありますか? まず、IronXL名前空間をインポートしてください。 IronXLは[`DataSet`と`DataTable`](https://ironsoftware.com/csharp/excel/how-to/expまたはt-dataset-datatable/)オブジェクトのインポートとエクスポートを包括的にサポートしており、データベース駆動型のアプリケーションに最適です。 ```csharp using IronXL; ``` ### 完全なコード例は何ですか? 以下のコードを追加してください: ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-database-to-csv-datatable.cs ``` ### コードはどのようにステップバイステップで動作しますか? 上記のコードは、`DataTable`を作成し、その所有者として'OJ'を指定して新しいワークブックを作成し、fまたはeachループを使って`DataTable`からExcelワークシートにデータを挿入しています。 最後に、`SaveAsCsv` メソッドは、データテーブルを CSV にエクスポートします。 プロセスの内訳 1.**データテーブルの作成**: 新しい`DataTable`を初期化し、列を追加してスキーマを定義します。 これは、データベースのテーブル構造を定義することに似ています。 2.**データポピュレーション**:`Rows.Add()`メソッドを使用して、`DataTable`に行を追加します。 各行は、CSVエクスポート用のレコードを表します。 3.**ワークブックの生成**: IronXLの`WまたはkBook.Create()`メソッドは新しいExcelワークブックを初期化します。 必要に応じて、[複数のワークシートを持つスプレッドシートを作成することもできます](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)。 4.**Cell Population**: fまたはeachループは、`DataTable`行を繰り返し、セル参照構文 (例えば、"A1"、"A2") を使用して、各値を特定のワークシートセルにマッピングします。 5.**CSVエクスポート**: `SaveAsCsv()`メソッドは、特殊文字の適切なエスケープや区切り文字の処理など、CSVフォーマットの複雑さを処理します。 ### 高度なDataTableシナリオについてはどうですか? 複数の列を持つ複雑な`DataTable`については、次のようにコードを拡張してください: ```csharp // Create a DataTable with multiple columns DataTable advancedTable = new DataTable(); advancedTable.Columns.Add("ID", typeof(int)); advancedTable.Columns.Add("Name", typeof(string)); advancedTable.Columns.Add("Price", typeof(decimal)); --snip-- wまたはkbook.SaveAsCsv("products.csv", ","); ``` ### 出力はどのように見えますか? 出力されたExcelワークシートは次のように表示されます: