How to Use C# to Convert Datatable to CSV
IronXL を使用して C# で DataTable を CSV に変換するには、WまたはkBook を作成し、DataTable 行でデータを埋めて、SaveAsCsv() メソッドを呼び出します。複雑なループや Interop は不要です。
DataTableをCSVに1行でエクスポート@@--AH2EG--@@
Using IronXL, you can convert the filled DataTable into a CSV file with one method call. No loops, no Interop, no complex processing is required. WまたはkBook と DefaultWまたはkSheet さえあれば、SaveAsCsv を使って数秒でエクスポートできます。
最小限のワークフロー(5ステップ)
- DataTable を CSV に変換する C# ライブラリをダウンロードしてインストールします。
- 新しいデータを保存するには
DataTableクラスを利用する - 新しいスプレッドシートを作成するか、既存のスプレッドシートをインポートします
- 表の行をループし、それに応じてワークシートのセルに入力します。
SaveAsCsvC#関数を使用してCSVファイルにエクスポートする
ステップ1
プロジェクトにIronXLをインストールするには?
アプリケーションで使用する前にIronXLをインストールする必要があります。 IronXLはあなたのプロジェクトに複数のインストールオプションを提供します。 IronXLは、Microsoft ExcelやInteropのインストールを必要とせず、C# でExcelファイルを扱うことを簡素化するライブラリです。
どのインストール方法を使用すべきですか?
以下のリンクから公式サイトからダウンロードしてください:https://ironsoftware.com/csharp/excel/docs/
または
- Visual Studioで、プロジェクトメニューを選択
- NuGetパッケージの管理をクリック
IronXl.Excelを検索- インストールをクリックします
どの NuGet コマンドを使用すればよいですか?
Install-Package IronXL.Excel
なぜNuGetパッケージマネージャを選ぶのですか?
NuGetは、依存関係を自動的に管理し、ライブラリを最新の状態に保つため、.NET開発者に好まれる方法です。 IronXL パッケージには、スプレッドシートファイル形式の変換や、さまざまな Excel 形式の操作に必要なすべてのコンポーネントが含まれています。
チュートリアル
DataTable を CSV 形式で作成・エクスポートするにはどうすればよいですか?
WまたはkBookの作成、データへの入力、およびIronXLに組み込まれたCSV書き込み機能の使用が含まれます。 このアプローチは、手作業でCSV文字列を構築したり、従来のファイルストリーミング手法を使用したりするよりも効率的です。
どの名前空間をインポートする必要がありますか?
まず、IronXL 名前空間をインポートします。 IronXLは、DataSetおよび@@--CODE-860--@@オブジェクトのインポートとエクスポートを包括的にサポートしており、データベース駆動型アプリケーションに最適です。
using IronXL;
using IronXL;
Imports IronXL
完全なコード例は何ですか?
以下のコードを追加してください:
:path=/static-assets/excel/content-code-examples/how-to/csharp-database-to-csv-datatable.cs
using IronXL;
using System;
using System.Data;
// Create a new DataTable object
DataTable table = new DataTable();
// Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", typeof(string));
// Add rows to the DataTable
table.Rows.Add("0");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
// Create a new Excel workbook and set its author metadata
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "OJ";
// Get the default worksheet
WorkSheet ws = wb.DefaultWorkSheet;
// Initialize rowCounter for Excel sheet rows
int rowCount = 1;
// Loop through each row in the DataTable and add the data to the Excel worksheet
foreach (DataRow row in table.Rows)
{
// Populate worksheet cells with data from DataTable
ws["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
// Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Will be saved as: Save_DataTable_CSV.Sheet1.csv
Imports IronXL
Imports System
Imports System.Data
' Create a new DataTable object
Dim table As New DataTable()
' Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", GetType(String))
' Add rows to the DataTable
table.Rows.Add("0")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")
' Create a new Excel workbook and set its author metadata
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "OJ"
' Get the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet
' Initialize rowCounter for Excel sheet rows
Dim rowCount As Integer = 1
' Loop through each row in the DataTable and add the data to the Excel worksheet
For Each row As DataRow In table.Rows
' Populate worksheet cells with data from DataTable
ws("A" & rowCount).Value = row(0).ToString()
rowCount += 1
Next
' Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Will be saved as: Save_DataTable_CSV.Sheet1.csv
コードはどのようにステップバイステップで動作しますか?
上記のコードは、DataTableのデータをExcelワークシートに挿入します。 最後に、SaveAsCsv メソッドはデータテーブルを CSV 形式でエクスポートします。
プロセスの内訳
-
DataTablesの作成: 新しい
DataTableを初期化し、列を追加してスキーマを定義します。 これは、データベースのテーブル構造を定義することに似ています。 -
データ入力:
DataTableメソッドを使用して、Rows.Add()にレコードを追加します。 各行は、CSVエクスポート用のレコードを表します。 -
ワークブックの生成: IronXLの
WまたはkBook.Create()メソッドは、新しいExcelワークブックを初期化します。 必要に応じて、複数のワークシートを持つスプレッドシートを作成することもできます。 -
セルの入力: fまたはeach ループは
DataTable行を反復処理し、セル参照構文(例: "A1"、"A2")を使用して各値を特定のワークシートセルに割り当てます。 - CSV エクスポート:
SaveAsCsv()メソッドは、特殊文字の適切なエスケープや区切り文字の処理など、CSV フォーマットにおける複雑な処理を処理します。
高度なDataTableシナリオについてはどうですか?
複数列にわたる複雑な DataTable については、次のようにコードを拡張してください:
// 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", ",");
// 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", ",");
' Create a DataTable with multiple columns
Dim advancedTable As New DataTable()
advancedTable.Columns.Add("ID", GetType(Integer))
advancedTable.Columns.Add("Name", GetType(String))
advancedTable.Columns.Add("Price", GetType(Decimal))
' --snip--
wまたはkbook.SaveAsCsv("products.csv", ",")
出力はどのように見えますか?
出力されたExcelワークシートは次のように表示されます:
大規模な DataTable をどのように処理すればよいですか?
数千行に及ぶ大規模な DataTable を扱う場合でも、IronXL は優れたパフォーマンスを維持します。 ライブラリは、大量のデータセットを効率的に処理します。 本番環境では、ライセンスキーを適用して、透かしを削除し、すべての機能を有効にしてください。
エラー処理についてはどうですか?
ファイル操作の際には、常に適切なエラー処理を実装してください:
try
{
// Your DataTable to CSV conversion code
WまたはkBook wb = WまたはkBook.Create();
// ... rest of the code
wb.SaveAsCsv("output.csv", ",");
Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"Errまたは creating CSV: {ex.Message}");
}
try
{
// Your DataTable to CSV conversion code
WまたはkBook wb = WまたはkBook.Create();
// ... rest of the code
wb.SaveAsCsv("output.csv", ",");
Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"Errまたは creating CSV: {ex.Message}");
}
Imports System
Try
' Your DataTable to CSV conversion code
Dim wb As WまたはkBook = WまたはkBook.Create()
' ... rest of the code
wb.SaveAsCsv("output.csv", ",")
Console.WriteLine("CSV file created successfully!")
Catch ex As Exception
Console.WriteLine($"Errまたは creating CSV: {ex.Message}")
End Try
ライブラリのクイックアクセス
IronXL APIリファレンスドキュメント
便利な IronXL API リファレンス ドキュメントを使用して、Excel スプレッドシートでセルを結合、結合解除、操作する方法の詳細を学び、共有します。
IronXL APIリファレンスドキュメントよくある質問
複雑なループを書かずに、C#でDataTableをCSVに変換するにはどうすればよいですか?
IronXLはDataTableをCSVに変換するシンプルな1行ソリューションを提供します。WorkBookを作成し、DataTableデータを入力した後、SaveAsCsv()メソッドを使用することで、ループを記述したりInteropを使用することなく、CSV形式に直接エクスポートすることができます。
DataTableからCSVへの変換ライブラリのインストールオプションは何ですか?
IronXLはVisual StudioのNuGetパッケージマネージャから'IronXL.Excel'を検索するか、NuGetコマンドラインを使ってインストールできます。これは自動的に依存関係を管理し、ライブラリを最新の状態に保つため、望ましい方法です。
DataTable を CSV に変換するには、Microsoft Excel がインストールされている必要がありますか?
IronXLはMicrosoft ExcelやInteropのインストールを必要とせず、単独で動作します。IronXLはC#アプリケーションでExcelファイルやCSVエクスポートの作業を簡素化するスタンドアロン・ライブラリです。
DataTableからCSVへの変換には、どの名前空間をインポートする必要がありますか?
C#ファイルの先頭に'using IronXL;'を追加してIronXL名前空間をインポートする必要があります。これにより、DataSetとDataTableオブジェクトのインポートとエクスポートの包括的なサポートにアクセスできるようになる。
CSVにエクスポートする際に、カスタム区切り文字を指定できますか?
はい、IronXLのSaveAsCsv()メソッドではカスタムの区切り文字を指定できます。例のコードではコンマ (",") を区切り文字として使用していますが、あなたの要求に合う任意の文字に変更することができます。

