How to Use C# to Convert Datatable to CSV
IronXL を使用して C# で DataTable を CSV に変換するには、WorkBook を作成し、DataTable 行でデータを埋めて、SaveAsCsv() メソッドを呼び出します。複雑なループや Interop は不要です。
DataTableをCSVに1行でエクスポート
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. WorkBook と DefaultWorkSheet さえあれば、SaveAsCsv を使って数秒でエクスポートできます。
-
1Install IronXL with NuGet Package Manager
-
2このコード スニペットをコピーして実行します。
IronXL.WorkBook.Create().DefaultWorkSheet.SaveAsCsv("output.csv", ",");C# -
3実際の環境でテストするためにデプロイする
今日プロジェクトで IronXL を使い始めましょう無料トライアル
最小限のワークフロー(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 コマンドを使用すればよいですか?
なぜNuGetパッケージマネージャを選ぶのですか?
NuGetは、依存関係を自動的に管理し、ライブラリを最新の状態に保つため、.NET開発者に好まれる方法です。 IronXL パッケージには、スプレッドシートファイル形式の変換や、さまざまな Excel 形式の操作に必要なすべてのコンポーネントが含まれています。
チュートリアル
DataTable を CSV 形式で作成・エクスポートするにはどうすればよいですか?
WorkBookの作成、データへの入力、およびIronXLに組み込まれたCSV書き込み機能の使用が含まれます。 このアプローチは、手作業でCSV文字列を構築したり、従来のファイルストリーミング手法を使用したりするよりも効率的です。
どの名前空間をインポートする必要がありますか?
まず、IronXL 名前空間をインポートします。 IronXLは、DataSetおよびDataTableのインポートとエクスポートオブジェクトを包括的にサポートしており、データベース駆動型アプリケーションに最適です。
using IronXL;Imports IronXL完全なコード例は何ですか?
以下のコードを追加してください:
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.csvImports 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の
WorkBook.Create()メソッドは、新しいExcelワークブックを初期化します。 必要に応じて、複数のワークシートを持つスプレッドシートを作成することもできます。 -
セルの入力: foreach ループは
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--
workbook.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--
workbook.SaveAsCsv("products.csv", ",")出力はどのように見えますか?
出力されたExcelワークシートは次のように表示されます:
大規模な DataTable をどのように処理すればよいですか?
数千行に及ぶ大規模な DataTable を扱う場合でも、IronXL は優れたパフォーマンスを維持します。 ライブラリは、大量のデータセットを効率的に処理します。 本番環境では、ライセンスキーを適用して、透かしを削除し、すべての機能を有効にしてください。
エラー処理についてはどうですか?
ファイル操作の際には、常に適切なエラー処理を実装してください:
try
{
// Your DataTable to CSV conversion code
WorkBook wb = WorkBook.Create();
// ... rest of the code
wb.SaveAsCsv("output.csv", ",");
Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"Error creating CSV: {ex.Message}");
}Try
' Your DataTable to CSV conversion code
Dim wb As WorkBook = WorkBook.Create()
' ... rest of the code
wb.SaveAsCsv("output.csv", ",")
Console.WriteLine("CSV file created successfully!")
Catch ex As Exception
Console.WriteLine($"Error 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()メソッドではカスタムの区切り文字を指定できます。例のコードではコンマ (",") を区切り文字として使用していますが、あなたの要求に合う任意の文字に変更することができます。
How does IronXL handle large DataTables?
IronXL is designed to efficiently manage large DataTables, ensuring excellent performance even with datasets containing thousands of rows. It's optimized for handling substantial data workloads in production environments.
What should I do if I encounter errors during CSV export?
Implement proper error handling using try-catch blocks in your code. This approach will help you catch exceptions and provide informative error messages, ensuring the stability of your CSV export process.
Why is NuGet the preferred installation method for IronXL?
NuGet is favored by .NET developers because it automatically manages dependencies, ensures library versions are current, and simplifies the integration process. IronXL installed via NuGet includes all necessary components for handling Excel files.
What is the output format when exporting a DataTable to CSV using IronXL?
The output is a well-structured CSV file where each row of the DataTable corresponds to a line in the CSV, and each column corresponds to a field. IronXL ensures the correct formatting, handling delimiters and special characters.
How do I apply my IronXL license key to avoid watermarks?
To remove watermarks and unlock full functionality, apply your IronXL license key in a production environment by setting it through the IronXL library's licensing method. This ensures your exports are unmarked and ready for distribution.

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

