IRONXLの使用

C# で DataTable を Excel に変換する (コード例チュートリアル)

更新済み 2024年1月7日
共有:

プログラムを使ってExcelスプレッドシートを変更することは、主に2つの理由で難しいことがあります。 まず、スプレッドシートを扱う際には、一貫したインターフェースと文書構造を維持する必要がありますが、これは常に簡単ではありません。 第二に、特に高度な計算が関わる場合、特定の状況でどのコードが機能するのかが必ずしも明確ではありません。 プログラムによってExcelファイルを作成することが難しい理由は数多くあります。 プログラマーはまずExcelドキュメント内のデータを読み取り可能な形式に変換し、その後そのデータを解析して再度解析し直す必要があるため、さらに困難です。 私はこの問題の解決策を考え出しました。 IronXL .NET Excel ライブラリを使用して、問題なくExcelファイルを作成し、プログラムでDataTableをExcelシートにエクスポートする方法を教えます。 始めましょう:

IronXLの機能

  • IronXL は、Windows を含むさまざまなオペレーティングシステムで動作します。[Linux (リナックス)(次の内容を日本語に翻訳してください:

"Create, edit, and extract data from PDFs using IronPDF for .NET. IronPDF enables developers to generate PDF documents dynamically, convert HTML to PDFs, and manipulate existing PDF files. It supports various functionalities such as merging, splitting, and adding annotations. With its robust API, integrating IronPDF into web applications or services is straightforward and efficient. Suitable for various industries, IronPDF is a powerful tool for automating PDF processing tasks."

PDFを操作するための強力なツールであり、さまざまな業界に適しています。)](/csharp/excel/how-to/linux/)、およびmacOS.

  • ほぼすべての .NET フレームワークがIronXLによってサポートされています。これには、コンソール、Windowsフォームアプリケーション、およびWebアプリケーション.
  • IronXLはExcelファイルの読み取りを簡単かつ容易にします。
  • ロードして編集し、エクスポートDatatablesデータセットをエクスポートしExcelファイル形式を読み込むXLSXファイル、XLS、CSV、TSV、XLST、XLSMファイルなどをIronXLで処理。
  • IronXLは、保存してFileをエクスポートXLS、CSV、TSV、JSON、XLSX など、さまざまな拡張子に対応しています。
  • Excelの数式IronXLによって作成できます。
  • テキスト、数値、数式、日付、通貨、パーセンテージ、その他エクセルのセルデータ形式はIronXLによってサポートされています。

    • 以下の日本語訳をご確認ください:

さらに、さまざまなソートオプション以下のようなRange、Columns、およびRowsなど。

  • IronXLのセルのスタイリングにはFontsサイズ、背景パターン、枠線、整列など。
  • IronXL を使用して、Excel ファイルからデータを読み取り、エクスポートすることができます。
  • IronXLは、サーバーにExcelやInteropをインストールする必要はありません。 IronXL APIは、Microsoft Office、Interop、およびExcelよりも速く、使いやすいです。

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

IronXLライブラリを使用するには、Visual Studioで.NETプロジェクトを作成する必要があります。 Visual Studioの任意のバージョンを使用できますが、最新バージョンを推奨します。 要件に応じて、Windows Forms のようなアプリケーションやさまざまなプロジェクトテンプレートを作成することができます。 このチュートリアルでは、簡潔さのためにコンソール アプリケーションを使用します。

データテーブルからExcelへ大量のデータをエクスポートする方法 (C#)、図1:Visual Studioで新しいプロジェクトUIを作成

Visual Studioで新しいプロジェクトUIを作成する

次に、プロジェクト名とプロジェクトの場所を入力してください。

![以下のコンテンツを日本語に翻訳します:

「C#でデータテーブルからExcelに大量のデータをエクスポートする方法、図2: 新しいプロジェクトを作成する際の構成ステップ」](/static-assets/excel/blog/datatable-to-excel-csharp/datatable-to-excel-csharp-2.webp)

新しいプロジェクトを作成する際の設定手順

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

データテーブルからExcelへ大量のデータを書き出す方法(C#の場合)、図3:.Net Framework選択UI

.Net フレームワーク選択UI

アプリケーションがソリューションを作成すると、program.csファイルが開かれ、コードを入力してアプリケーションをビルド/実行することができます。

![データテーブルからExcelへ大量データをエクスポートする方法(C#)

図4: 新しいプロジェクトのprogram.csファイル(空の状態)](/static-assets/excel/blog/datatable-to-excel-csharp/datatable-to-excel-csharp-4.webp)

新しいプロジェクトの空のprogram.csファイル

次に、コードをテストするためにライブラリを追加します。

IronXLライブラリをインストールする

IronXLライブラリは、4つの方法でダウンロードおよびインストールできます。

これらは:

  • Visual Studio を使用して
  • Visual Studio コマンドラインの使用。
  • NuGetウェブサイトから直接ダウンロードします。
  • IronXLのウェブサイトからの直接ダウンロード。

2.1 Visual Studioの使用

私たちはNuGetパッケージマネージャーを使用してIronXLライブラリをインストールすることができます。 まず、NuGet パッケージ マネージャーを開き、ブラウズタブで IronXL を検索する必要があります。 検索結果からIronXLを選択してインストールしてください。 その後、プロジェクトはIronXLライブラリで使用できるようになります。

以下のスクリーンショットは、Visual StudioでNuGetパッケージマネージャーを開く方法を示しています。

巨大なデータをDatatableからExcelにエクスポートする方法(C#)、図5:Visual StudioでNuGetパッケージマネージャーに移動する

Visual Studio で NuGet パッケージマネージャーに移動します

検索結果のIronXL:

データテーブルからExcelに大量のデータをエクスポートする方法(C#)、図6:IronXLライブラリを検索

IronXLライブラリを検索

2.2 Visual Studio コマンドラインの使用

多くの人々は操作を行うためにコンソールを使用することを好みます。 したがって、コンソールからもインストールすることができます。 以下の手順に従って、コマンドラインからIronXLをインストールしてください。

  • Visual Studio で、ツール -> NuGet パッケージ マネージャー -> パッケージ マネージャー コンソール に移動します。
  • パッケージマネージャーコンソールタブに次の行を入力してください:
Install-Package IronXL.Excel

現在、パッケージは現在のプロジェクトにダウンロード/インストールされ、使用できるようになります。

C#でDatatableからExcelに巨大なデータをエクスポートする方法、図7: コンソール経由でIronXLパッケージをインストール

コンソール経由で IronXL パッケージをインストール

2.3 NuGetウェブサイトからの直接ダウンロード

3つ目の方法は、ウェブサイトから直接NuGetパッケージをダウンロードすることです。

  • 以下に移動しますNuGet オフィシャル IronXL パッケージページ.
  • 右側のメニューからダウンロードパッケージオプションを選択してください。
  • ダウンロードしたパッケージをダブルクリックしてください。 自動的にインストールされます。
  • 次に、ソリューションをリロードして、プロジェクトで使用を開始します。

IronXLのウェブサイトから直接ダウンロード

リンクをクリックして最新のパッケージをダウンロードするウェブサイトから直接ダウンロードしてください。ダウンロード後、以下の手順に従ってパッケージをプロジェクトに追加します。

  • ソリューションウィンドウからプロジェクトを右クリックします。
  • 次に、オプションの参照を選択し、ダウンロードした参照の場所を参照してください。
  • 次に、参照を追加するために「OK」をクリックしてください。

IronXLを使用して3つのDatatableをExcelファイルにエクスポート

IronXLは、少ない手順でDatatablesをExcelファイルに簡単にエクスポートすることができます。

まず、以下のコード画面のようにIronXLの名前空間を含める必要があります。 追加されたら、IronXL のクラスとメソッドをコードで使用できます。

C#でデータテーブルからExcelに大量のデータをエクスポートする方法, 図8: ライブラリを使用する前にIronXLの名前空間を含めます

ライブラリを使用する前にIronXLのnamespaceを含めてください。

IronXLを使用すると、Excelファイルを作成し、それらをワークブックオブジェクトに変換することができます。 オブジェクトに変換した後、さまざまな種類の操作を実行することができます。 以下のサンプルコードでは、Datatable を Excel ワークシートに変換し、その後 Excel ファイルを作成します。

public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animal", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Cat")
	table.Rows.Add("Goat")
	table.Rows.Add("Panther")
	table.Rows.Add("Fox")
	table.Rows.Add("Cheetah")
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv(filePath, ";")
End Sub
VB   C#

上記のコードでは、データテーブルをExcelファイルにエクスポートしています。まず、DataTableを作成し、その後に列ヘッダーを作成しています。 列を作成した後、列を一つ一つ追加します。 列を追加した後、次に作成するのはWorkBookオブジェクト オブジェクトを使用することにより、データをExcelシートに追加し、その後、データを指定の場所に保存することができます。 私たちは、作成していますワークシートワークシートを作成し、それを WorkBook オブジェクトに追加できるオブジェクト。

次のように、foreachループを使用してデータテーブルの値を一つずつ読み取り、その後ワークシートに値を追加します。 すべての値がワークシートに追加されたら、SaveAsCSVというメソッドを使用してそれらをCSVファイルに保存します。パラメーターとして区切り文字とファイル名、場所を指定する必要があります。 区切り文字は、必要ない場合は無視できるオプションのパラメータです。

データテーブルからExcelへの大量データのエクスポート方法 (C#)、図9:Visual Studioでの完成したコード

Visual Studioでの完成したコード

上記は、私たちが .NET Core 6 で使用しているコードの完全なスクリーンショットです。

結果:

データテーブルからExcelに大量のデータをエクスポートする方法(C#)、図10:Microsoft Excelでファイルを開いたときの結果

Microsoft Excelでファイルを開いたときの結果

上記は、実行されたコードサンプルの結果です。 スクリーンショットでは、データテーブルに存在するすべてのデータが、新しく作成されたExcelシートに一つずつ追加されています。

4 結論

IronXLは最も一般的に使用されるExcelライブラリの一つです。 他のサードパーティライブラリに依存しません。 それは独立しており、MS Excelをインストールする必要がありません。 複数のプラットフォームで動作します。 IronXLの初期価格は$749から始まります。 また、製品サポートと更新に対する1年間の料金オプションを提供しています。 IronXLは、追加料金でロイヤリティフリーの再配布カバレッジを提供します。価格の詳細については、私たちのウェブサイトをご覧ください。ライセンスページ.

< 以前
C# でプログラムによって Excel ファイルを開く (コード例チュートリアル)
次へ >
エクセルで行を移動する方法