フッターコンテンツにスキップ
IRONXLの使用

C#で `DataTable` をCSVにエクスポートする方法

IronXL を使用すると、Microsoft Excel のインストールを必要とせずに、C# で DataTable から CSV へのシームレスな変換が可能になります。 このスタンドアロン for .NETライブラリは、DataTables をカスタム構造と区切り文字を持つCSVファイルに自動的に変換するシンプルなAPIを提供し、開発者にとってデータのエクスポートを容易にします。

IronXLは、Microsoft Excelをインストールすることなく、C# .NETテクノロジーでMicrosoft Excelドキュメント(CSVファイルを含む)を操作できる人気のライブラリです。 登録済みの型を CSV ファイルに自動変換し、カスタム構造を持つ CSV ファイルを作成することができます。

IronXLライブラリにはどのような機能がありますか?

C# IronXL .NETライブラリを使用すると、Microsoft Excelドキュメントを読み込みCSVファイルに変換できます。 IronXLは、さまざまなスプレッドシート形式を読み取ることができるスタンドアロン for .NETソフトウェアライブラリです。 これは Microsoft.Office.Interop.Excel に依存しておらず、Microsoft Excel のインストールも必要としません。

IronXLの使いやすいC# APIを利用すれば、 .NET環境でExcelスプレッドシートファイルを素早く読み込み、変更、作成できます。 IronXLは、 .NET Core、 .NET Framework 、Xamarin、モバイル、 LinuxmacOSAzureをすべて完全にサポートしています。

  • C# 用の .NET Core および .NET Framework の主要な Excel スプレッドシートライブラリには IronXL が含まれます。 コンソールアプリケーション、Windowsフォームアプリケーション、Webアプリケーションなど、ほぼすべて for .NET Frameworkがサポートされています。
  • IronXLは、Windows、Linux、macOSの各オペレーティングシステムで動作します。
  • IronXLを使えば、Excelファイルの読み込みが簡単かつ迅速に行えます。
  • IronXLは、XLSX、XLS、CSV、TSV、XLST、XLSMファイルなど、複数のExcel形式をサポートしています。
  • IronXLは、XLS、CSV、TSV、JSON、XMLなど、さまざまな形式でファイルをエクスポートします。
  • IronXLはExcelの計算式を生成し、数式をサポートします。
  • IronXLは、テキスト、数値、日付、通貨、パーセンテージなど、Excelの列データ形式をサポートしています。

詳細については、 IronXLのドキュメント概要をご覧ください。

Visual Studio で新しいプロジェクトを作成するにはどうすればよいですか?

Visual Studio で IronXL フレームワークを使用する前に .NET プロジェクトを作成する必要があります。 Visual Studio のバージョンはどれでも利用可能ですが、最新のものをお勧めします。 ニーズに応じて、Windowsフォームアプリケーションを作成したり、さまざまなプロジェクトテンプレートを使用したりできます。 分かりやすくするために、このチュートリアルではコンソールアプリケーションを使用します。

Visual Studio の Visual Studioで新しいプロジェクトを作成

次に、プロジェクトの名前と場所を入力します。

Visual Studio プロジェクト構成ダイアログ。プロジェクト名 新しいプロジェクトの設定

次に、以下の構造を選択してください。 このプロジェクトでは.NET Core 6を使用します。

Visual Studio プロジェクト作成ダイアログで、フレームワークとして.NET 6.0 (長期サポート) を選択したコンソール アプリ構成を表示しています。 .NET Frameworkのバージョンを選択

アプリケーションがソリューションを生成すると、program.cs ファイルが開かれ、プログラムコードを入力してアプリケーションをビルド/実行できるようになります。

Visual Studio の空の C# コンソール アプリケーション ウィンドウには、CSV エクスポート機能を実装するための初期コード構造を備えた IronXLConsole プロジェクトが表示されています。 新しく作成されたコンソールアプリケーションプロジェクト

その後、ライブラリを追加してコードを評価するために使用することができます。 .NET MAUIアプリケーションVB .NETプロジェクトなどの他のプロジェクトタイプの場合も、プロセスは似ていますが、フレームワーク固有の考慮事項があります。

どのようにIronXLライブラリをインストールしますか?

IronXL ライブラリをダウンロードしてインストールする方法は 4 つあります。

それらは次のとおりです。

  • Visual Studio からインストール
  • Visual Studio パッケージ マネージャー コンソールを使用してインストール
  • NuGet ウェブサイトから直接ダウンロード
  • IronXL ウェブサイトから直接ダウンロード

Visual Studioのインストールにはどの方法を使用すべきですか?

NuGet パッケージ マネージャーを使用して、IronXL モジュールをインストールできます。 IronXL を見つけるには、まず NuGet パッケージ マネージャーを起動し、ブラウズ ペインで探します。 検索結果から選択して IronXL をインストールします。 その後、このアプリで IronXL ライブラリを使用できるようになります。

以下の画像は、Visual Studio の NuGet パッケージ マネージャーを起動する方法を示しています。

Visual Studio のツール メニューが展開され、ツール ドロップダウン メニューの下にNuGetパッケージ マネージャー オプションとパッケージ マネージャー コンソールがハイライト表示されています。 NuGetパッケージマネージャへのナビゲート

 NuGetパッケージ マネージャーのインターフェイスで、バージョン 2022.3.0 のIronXl.Excel パッケージが表示され、133K ダウンロードと簡単な統合のためのインストール ボタンが表示されています。 NuGet パッケージ マネージャー UI で IronXL パッケージをインストール

パッケージマネージャーコンソールはどのような場合に使用すべきですか?

多くの開発者は、タスクを実行する際にコンソールを使用することを好む。 したがって、ターミナルインストールもオプションです。 コマンドラインを使用して IronXL をインストールするには、以下の手順に従ってください。

  • Visual Studio の ツール > NuGet パッケージ マネージャー > パッケージ マネージャー インターフェイスに移動します。
  • パッケージ マネージャーのコンソールタブに次のコマンドを入力します。

    Install-Package IronXL.Excel
  • IronXL がアクティブなプロジェクトにダウンロードおよびインストールされるのを待ちます。

Visual Studio のパッケージ マネージャー コンソールに、インストール成功の確認メッセージとともにコマンド パッケージ マネージャー コンソール UI で IronXL パッケージをインストール

なぜNuGetのウェブサイトからダウンロードする必要があるのですか?

NuGet パッケージはウェブサイトから直接ダウンロードすることができます。 この方法は、インターネットへのアクセスが制限されている環境で作業する場合や、パッケージを手動で管理する必要がある場合に特に役立ちます。

*公式のNuGetリンクにアクセスしてください。

  • ダウンロードパッケージのオプションは、右側のメニューにあります。
  • 保存されたファイルを二回クリックします。それはすぐにインストールされます。
  • その後、ソリューションを再読み込みし、プロジェクトで利用を始めます。

IronXLのウェブサイトから直接インストールするにはどうすればよいですか?

ウェブサイトから最新のパッケージを直接ダウンロードするには、この IronXL ZIP ファイルのダウンロードリンク をクリックしてください。 このリンクは IronXL のライブラリ DLL の最新バージョンを含む ZIP ファイルをダウンロードします。 ダウンロードが終了したら、ZIP ファイルの内容を任意のディレクトリに抽出します。

ダウンロードしたファイルをプロジェクトに追加するには、以下の手順に従ってください。

  • ソリューションウィンドウから、プロジェクトを右クリックします。
  • 参照を選択し、IronXL DLLs を含む抽出されたフォルダーに移動します。
  • DLL を選択し、OK をクリックしてアクティブなプロジェクトに参照として追加します。

デプロイシナリオでは、 IronXLをDockerコンテナ内にセットアップしたり、 AWS LambdaAzure Functionsなどのクラウドプラットフォームにデプロイしたりすることもできます。

DataTable を CSV ファイルにエクスポートするにはどうすればよいですか?

DataTables はIronXLを使用してCSV ファイルに簡単かつ迅速にエクスポートできます。 カスタム区切り文字とエンコードオプションをサポートし、データを新しいCSVファイルに書き込むのに役立ちます。

最初に、下のコード画像のように、IronXL ネームスペースを含めて IronXL クラスとメソッドを使用します。

C# コード エディタで、DataTable から CSV へのエクスポート実装の構文ハイライト付きで 'using IronXL;' および 'using System.Data;' 名前空間宣言を表示します。 一般的なネームスペースを追加

IronXLを使用すると Excel ファイルを作成でき、その後、IronXL はそれらをWorkBookオブジェクトに変換します。 次に、これらのオブジェクトに対して様々な操作を実行します。 以下のサンプルコードは、DataTable を Excel ワークシートに変換して Excel ファイルを作成します。

using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
$vbLabelText   $csharpLabel

上記のコードは、DataTable を Excel ファイルにエクスポートします。DataTable が作成されると、列見出しが作成されます。 次に、最初の列を設立した後、一行ずつ追加します。 WorkBook オブジェクトは、それらのデータを保持するために、DataTable オブジェクトに列と行を追加した後に作成されます。 次に、 WorkBook オブジェクトに追加されます。

DataTable の各値は、foreach ループを使用して読み取られ、WorkSheet に値が追加される前に加算されます。 すべての値がワークシートに追加されると、 SaveAsCsvメソッドはそれらをCSVファイルに保存します。区切り文字とファイル保存場所は、パラメータとして指定できます。

より複雑なシナリオでは、複数のデータテーブルを別々のワークシートとしてエクスポートしたり、データセットを使用してより構造化されたデータ整理を行うことをお勧めします。

さまざまなCSV形式の操作

IronXLは、CSVファイルを扱う際に柔軟性を提供します。 カスタムフォーマットとエンコーディングを使用して DataTable をエクスポートする方法の例を以下に示します。

// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
$vbLabelText   $csharpLabel

この方法を用いると、エクスポートプロセスをより詳細に制御でき、セルデータのフォーマットを設定したり、出力構造をカスタマイズしたりすることが可能になります。

列Aに果物(リンゴ、オレンジ、イチゴ、ブドウ、スイカ、バナナ、レモン)のリストを表示したExcelスプレッドシート。適切なCSV形式で、余分な区切り文字はありません。 出力されたCSVファイル

上記の実行結果のサンプル結果が示されています。 スクリーンショットでは、データテーブルの各データが新しく形成された Excel シートに個別に追加されています。 エクスポート前にセルに書式設定を適用したり、計算値のための数式を追加したりすることもできます。

より高度なCSV操作を行うには、以下の方法があります。

IronXL チュートリアルの詳しい情報については、Excel フォーマットへのエクスポート方法をクリックしてください。

CSVエクスポートにIronXLを使うべき理由は何ですか?

IronXL は最も人気のある Excel ツールの一つです。 それは外部ソースからのいかなる他のライブラリにも依存しません。 それは自立しており、Microsoft Excel のインストールを必要としません。 それは、数多くのチャネルを通じて動作します。

IronXLはすべてのMicrosoft Excelドキュメント関連タスクのオールインワンソリューションを提供します。 数式計算文字列や数値の並べ替えトリミングと追加、検索と置換、結合と結合解除、ファイルの保存などを行うことができます。また、セルのデータ形式を設定したり、スプレッドシートのデータを検証したりすることもできます。 また、CSV ファイルの読み取りと書き込みもサポートしており、Excel データのように扱うことができます。

その他の特典は以下のとおりです。 機密データのエクスポートに対するパスワード保護

IronXLの発売時の価格は$799です。 また、製品サポートおよび更新のための 1 年間のサブスクリプション費用を支払う選択肢も提供しています。 追加料金で、IronXL は無制限の再配布のためのセキュリティを提供します。 より詳細な約価格情報を調べるには、このライセンスページをご覧ください。

よくある質問

C#でDataTableをCSVファイルにエクスポートするにはどうすれば良いですか?

IronXLを使用して、ワークブックを作成し、データをワークシートオブジェクトにエクスポートすることで、DataTableをCSVファイルにエクスポートできます。これにより、Microsoft Excelを必要とせずにスムーズな変換とエクスポートが可能になります。

このライブラリを使ってどんなファイル形式をエクスポートできますか?

IronXLは、XLS、CSV、TSV、JSONなどの様々な形式でデータをエクスポートでき、異なるデータニーズに柔軟に対応します。

このライブラリでExcelのような操作を行うことは可能ですか?

はい、IronXLは、数式計算、データソート、ファイル保存といったExcelに似た操作を可能にし、Excel関連のプログラミングタスクに包括的なツールです。

このライブラリを使用するためにMicrosoft Excelをインストールする必要がありますか?

いいえ、IronXLはスタンドアロン for .NETライブラリで、Microsoft Excelをインストールする必要がなく、開発者がC#アプリケーション内で直接Excel文書を操作できます。

このライブラリと互換性のあるプラットフォームは何ですか?

IronXLは、.NET Core、.NET Framework、Xamarin、およびWindows、Linux、macOSといったオペレーティングシステムを含む複数のプラットフォームと互換性があります。

プロジェクトにIronXLライブラリをインストールするにはどうすれば良いですか?

.NETプロジェクトにIronXLをインストールするには、Visual Studioを使用してNuGetパッケージマネージャーにアクセスするか、NuGetまたはIronXLウェブサイトから直接ダウンロードします。

このライブラリの利用できる価格オプションは何ですか?

IronXLは、製品のサポートとアップデートを含む1年のサブスクリプションオプションの開始価格を提供し、継続的なサポートと最新機能へのアクセスを提供します。

カーティス・チャウ
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね