DataTableをExcelにC#(コード例チュートリアル)で
プログラム的にExcelスプレッドシートを変更するのは、主に2つの理由から難しい場合があります。 まず、スプレッドシートを扱う際には、ユーザーは一貫したインターフェースと文書構造を維持しなければなりませんが、これは常に簡単ではありません。 次に、特に洗練された計算が関与している場合に、どのコードが特定の状況で機能するのかが必ずしも明確ではありません。 プログラム的にExcelファイルを作成することが難しい理由は多々あります。 プログラマーはまずExcelドキュメント内のデータを読み取り可能な形式に変換し、それからデータを解析して戻す必要があり、これはさらに困難です。 この問題に対する解決策を考案しました。 IronXL .NET Excelライブラリを使用して問題なくDataTableをExcelシートにエクスポートする方法を教えます。 始めましょう:
C#でDataTableをExcelにエクスポートする方法
- DataTable を Excel にエクスポートするための C# ライブラリをインストールする
- 新しいExcelワークブックを作成し、ワークシートにアクセス
- C# で
DataTableのDataRow反復処理する CellのValueプロパティにアクセスし、DataRowからのデータでワークシートを入力します。- Excelスプレッドシートを希望の場所にエクスポート
IronXL の機能
- IronXLは、Windows、Linux、macOSを含むさまざまなオペレーティングシステムで動作します。
- IronXLは、コンソール、Windowsフォームアプリケーション、およびWebアプリケーションを含む、ほぼすべての.NETフレームワークをサポートします。
- IronXLはExcelファイルの読み取りを簡単かつ手軽にします。
- IronXLを使用すると、XLSXファイル、XLS、CSV、TSV、XLST、XLSMファイルなどのExcelファイル形式を読み取ることに加えて、データテーブルを読み込み、編集し、データテーブルをエクスポートしたり、データセットをエクスポートしたりできます。
- IronXLでは、XLS、CSV、TSV、JSON、XLSXなど、さまざまな拡張子のファイルを保存およびエクスポートすることができます。
- IronXLではExcel数式を作成できます。
- テキスト、数値、数式、日付、通貨、パーセンテージ、およびその他のExcelセルデータ形式がIronXLでサポートされています。
- また、範囲、列、行など、さまざまな並べ替えオプションを提供します。
- IronXLのセルスタイリングには、フォント、サイズ、背景パターン、ボーダー、整列などが含まれます。
- IronXLを使用して、Excelファイルからデータを読み取り、エクスポートできます。
- IronXLは、ExcelまたはInteropをサーバーにインストールする必要がありません。 IronXL APIは、Microsoft Office、Interop、およびExcelよりも高速かつ使いやすいです。
1 Visual Studio で新しいプロジェクトを作成する
IronXLライブラリを使用するには、Visual Studioで.NETプロジェクトを作成する必要があります。 どのバージョンのVisual Studioも使用できますが、最新バージョンが推奨されます。 Windowsフォームや他のプロジェクトテンプレートなど、要件に応じてアプリケーションを作成できます。 このチュートリアルでは、シンプルさのためにコンソールアプリケーションを使用します。
Visual Studioで新しいプロジェクトUIを作成
次に、プロジェクト名とプロジェクトの場所を入力します。
新しいプロジェクトの設定ステップ
次に、以下のフレームワークを選択します。 このプロジェクトでは、.NET Core 6 を使用します。
.Net Framework selection UI
アプリケーションがソリューションを作成すると、codeと実行/ビルドするためのprogram.csファイルが開かれます。
新しいプロジェクトでの空のprogram.csファイル
次に、コードをテストするためにライブラリを追加できます。
2 IronXL ライブラリをインストールする
IronXLライブラリは4つの方法でダウンロードおよびインストールできます。
以下のような方法です:
- Visual Studioの使用
- Visual Studioのコマンドラインを使用。
- NuGet Webサイトからの直接ダウンロード。
- IronXL Webサイトからの直接ダウンロード。
2.1 Visual Studio の使用
NuGetパッケージマネージャを使用してIronXLライブラリをインストールできます。 まず、NuGetパッケージマネージャを開き、ブラウズタブでIronXLを検索します。 検索結果からIronXLを選択し、インストールします。 After that, our project will be ready to use in the IronXL library.
以下のスクリーンショットは、Visual StudioでNuGetパッケージマネージャを開く方法を示しています。
Visual StudioのNuGetパッケージマネージャに移動
検索結果のIronXL:
IronXLライブラリを検索
2.2 Visual Studio コマンドラインの使用
多くの人が操作を行うためにコンソールを好んで使用します。 そこで、コンソールでもインストールできます。 以下の手順に従ってコマンドラインでIronXLをインストールします。
- Visual Studio で、ツール -> NuGet パッケージ マネージャー -> パッケージ マネージャー コンソールへ移動します。
- パッケージマネージャコンソールタブで次の行を入力してください:
Install-Package IronXL.Excel
今、パッケージは現在のプロジェクトにダウンロード/インストールされ、使用可能になります。
コンソール経由でIronXLパッケージをインストール
2.3 NuGet Webサイトからの直接ダウンロード
3番目の方法としては、Webサイトから直接NuGetパッケージをダウンロードすることです。
- NuGet 公式IronXLパッケージページにアクセスします。
- 右側のメニューからダウンロードパッケージオプションを選択します。
- ダウンロードしたパッケージをダブルクリックします。 自動的にインストールされます。
- 次に、ソリューションをリロードしてプロジェクトで使用を開始します。
2.4 IronXL Webサイトからの直接ダウンロード
リンクをクリックして、Webサイトから直接最新のパッケージをダウンロードします。ダウンロードが完了したら、以下の手順に従ってパッケージをプロジェクトに追加します。
- ソリューションウィンドウからプロジェクトを右クリックします。
- 次に、オプションの参照を選択し、ダウンロードした参照の場所を参照します。
- 次に、参照を追加するためにOKをクリックします。
3 IronXLを使用してDataTableをExcelファイルにエクスポートする
IronXLを使用すると、DataTableを簡単にExcelファイルにエクスポートできます。
まず、以下のコードスクリーンショットに示されているように、IronXLの名前空間を含める必要があります。 一度追加されれば、コード内でIronXLクラスとメソッドを使用できます。
ライブラリ使用前にIronXLのnamespaceを含める
IronXLを使用することで、Excelファイルを作成し、ワークブックオブジェクトに変換できます。 オブジェクトに変換した後、さまざまな種類の操作を実行することができます。 次のサンプルコードでは、DataTableをExcelワークシートに変換し、Excelファイルを作成します。
using System;
using System.Data;
using IronXL;
public class ExcelExporter
{
/// <summary>
/// Exports a DataTable to an Excel file using IronXL.
/// </summary>
/// <param name="filePath">The file path where the Excel file will be saved.</param>
public static void ExportToExcel(string filePath)
{
// Creating a DataTable with a single column
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
// Adding some rows to the DataTable
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");
// Creating a new Excel Workbook
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
// Accessing the default worksheet
WorkSheet ws = wb.DefaultWorkSheet;
// Iterating through the DataTable rows
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
// Adding each DataRow's first column value to the corresponding cell in the worksheet
ws["A" + rowCount].Value = row[0].ToString();
rowCount++;
}
// Saving the workbook to a CSV file at specified file path with ";" as delimiter
wb.SaveAsCsv(filePath, ";");
}
}using System;
using System.Data;
using IronXL;
public class ExcelExporter
{
/// <summary>
/// Exports a DataTable to an Excel file using IronXL.
/// </summary>
/// <param name="filePath">The file path where the Excel file will be saved.</param>
public static void ExportToExcel(string filePath)
{
// Creating a DataTable with a single column
DataTable table = new DataTable();
table.Columns.Add("DataSet_Animal", typeof(string));
// Adding some rows to the DataTable
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");
// Creating a new Excel Workbook
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
// Accessing the default worksheet
WorkSheet ws = wb.DefaultWorkSheet;
// Iterating through the DataTable rows
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
// Adding each DataRow's first column value to the corresponding cell in the worksheet
ws["A" + rowCount].Value = row[0].ToString();
rowCount++;
}
// Saving the workbook to a CSV file at specified file path with ";" as delimiter
wb.SaveAsCsv(filePath, ";");
}
}上記のコードでは、DataTableをExcelファイルにエクスポートしています。まず、DataTableを作成し、次に列ヘッダーを作成しています。 列の作成後、一つずつ行を追加します。 行がすべて追加された後、WorkBookオブジェクトを作成します。 オブジェクトを使用して、Excelシートにデータを追加し、データを保存場所に保存できます。 ワークシートの作成を可能にするWorkSheetオブジェクトを作成してから、これをWorkBookオブジェクトに追加できます。
foreachループを使用して、DataTableの値を一つずつ読み取り、それをワークシートに追加しています。 すべての値がワークシートに追加されたら、メソッドSaveAsCsvを使用してCSVファイルに保存します。場所とファイル名をパラメーターとして渡す必要があります。 デリミタはオプションのパラメーターであり、必要ない場合は無視してもかまいません。
Visual Studioでの完成したコード
上記は.NET Core 6で使用しているコードのフルスクリーンショットです。
Result:
Microsoft Excelでファイルを開いた際の結果
上記は、実行されたコードサンプルの結果です。 スクリーンショットでは、DataTableにあるすべてのデータが、新しく作成されたExcelシートに一つずつ追加されています。
4 結論
IronXLは、最も一般的に使用されるExcelライブラリの一つです。 他のサードパーティライブラリに依存しません。 独立しており、MS Excelをインストールする必要はありません。 複数のプラットフォームで動作します。 IronXLのイントロ価格は$799から始まります。 また、製品サポートと更新のために1年間の料金オプションも提供しています。 IronXLは、追加の費用で著作権フリーの再配布カバレッジを提供しています。価格の詳細については、ライセンスページをご覧ください。
よくある質問
C#でDataTableをExcelファイルにエクスポートするにはどうすればよいですか?
IronXLのWorkBookとWorkSheetクラスを使用して、DataTableをExcelファイルにエクスポートできます。DataTableを作成し、その行を繰り返し処理して、IronXLのAPIを使用してデータをExcelファイルに埋め込むことができます。
Excel操作において、IronXLをInteropと比較して使用する利点は何ですか?
IronXLはMicrosoft Interopよりも高速かつ効率的であり、Microsoft Excelのインストールが不要で、複数のプラットフォームやファイル形式をサポートしています。
IronXLがサポートするExcelファイル形式にはどのようなものがありますか?
IronXLは、XLSX、XLS、CSV、TSV、XLST、XLSMなどのさまざまなExcelファイル形式をサポートしており、多様なファイル操作が可能です。
IronXLはデータをエクスポートする際、Excelの数式を扱うことができますか?
はい、IronXLはExcelの数式を扱うことができ、DataTableからExcelファイルにデータをエクスポートする際の複雑な計算を保持します。
IronXLはどのオペレーティングシステムと互換性がありますか?
IronXLは、Windows、Linux、macOSを含む複数のオペレーティングシステムと互換性があり、クロスプラットフォーム開発を可能にします。
IronXLを使用するのにMicrosoft Excelをインストールする必要がありますか?
いいえ、IronXLはMicrosoft Excelとは独立して動作するため、サーバーにExcelをインストールせずにExcelファイルを操作できます。
C#プロジェクトでIronXLをどのようにインストールすればよいですか?
IronXLはVisual StudioのNuGet Package Managerを経由で、コマンドラインを使用して、またはNuGetやIronXLのWebサイトから直接ダウンロードしてインストールできます。
IronXLはどの.NETフレームワークをサポートしていますか?
IronXLは、コンソール、Windowsフォームアプリケーション、Webアプリケーションなど、さまざまな.NETフレームワークをサポートしており、異なる種類のプロジェクトに対応可能です。
IronXLはExcelファイル内のセルのスタイル設定や書式設定をサポートしていますか?
はい、IronXLはフォントスタイル、色、境界線の設定など、Excelファイルの外観を向上させるさまざまなセルのスタイル設定とフォーマットオプションを提供します。
IronXLはプログラム的にExcelファイルを作成するプロセスをどのように簡素化しますか?
IronXLは、使いやすいAPIを提供することで、他の方法が必要とするインターフェースや構造の維持という複雑さを伴わずにExcelファイルの作成、修正、エクスポートを簡素化します。








