IRONSOFTWAREHOME
IRONXLの使用

IronXLを使用して Excel ファイルを DataTable にインポートする

Curtis Chau
Curtis Chau
Updated: 2026年5月8日

C# IronXLを使用して Excel ファイルを DataTable にインポートする

Excelファイルを手動で解析することが、開発者にとって一日の楽しみになることはめったにないというのは周知の事実だ。 誰もが経験したことがあるでしょう。古いOLEDB接続文字列と格闘したり、構造化されていないスプレッドシートデータを.NETアプリケーションが理解できる形式にマッピングしようとしたり。

C# の DataTable は、まさに平等化装置です。 これは完璧な橋渡し役を果たし、行と列をLINQクエリ、DataGridバインディング、またはSQLデータベースへの迅速なアクセスに適した馴染みのある構造に変換します。

IronXLはこのプロセスにおける面倒な作業をすべて引き受けてくれます。 複雑な設定を行う代わりに、単一の直感的なToDataTableメソッドを使用して変換を処理します。 レポート作成ツールを作成する場合でも、データ移行スクリプトを作成する場合でも、Excelデータを簡単にインポートする方法をご紹介します。

一緒にやってみたいですか? IronXLの無料トライアルを利用して、この強力なライブラリをぜひご自身でお試しください。

How Can You Import an Excel File into a DataTable in C#?

C# で Excel ファイルを DataTable にインポートするには、WorkBook.Load を使用してワークブックを読み込み、対象のワークシートにアクセスして、ToDataTable メソッドを呼び出します。 この方法は、XLSX、XLS、XLSM、およびCSV形式のファイルに対応しています。 必要なクラスにアクセスするには、以下の名前空間を参照するようにしてください。

Visual StudioでNuGetパッケージマネージャーを使用して、以下のコマンドを実行してIronXLをインストールします。

PM > Install-Package IronXL.Excel

次に、以下の簡潔なコードスニペットを使用してデータを移動させます。

using IronXL;
using System;
using System.Data;
class Program
{
    static void Main(string[] args)
    {
        // Load the Excel file from the specified path
        string filePath = "sales-data.xlsx";
        WorkBook workbook = WorkBook.Load(filePath);
        // Access the first worksheet in the workbook
        WorkSheet worksheet = workbook.DefaultWorkSheet;
        // Convert worksheet to DataTable with first row as column headers
        DataTable dt = worksheet.ToDataTable(true);
        // Display the imported data
        foreach (DataRow row in dt.Rows)
        {
            Console.WriteLine(string.Join(" | ", row.ItemArray));
        }
    }
}

出力

IronXLでExcelファイルをDataTableにインポート: 画像1 - DataTableにインポートされたExcelファイル

WorkBook.Load メソッドは、文字列 filePath で指定された場所から Excel ファイルを読み込み、すべての Excel シートデータを含むワークブック オブジェクトを作成します。 ToDataTable(true) パラメータは、最初の行に列ヘッダが含まれていることを示しており、それらがDataTableの列名として自動的に使用されます。

Excelファイルのデータをデータテーブルに読み込むための最適な方法は何ですか?

Excelファイルの内容を効率的に読み込むには、ヘッダー行と生データの両方を処理する必要がある。 IronXLのToDataTableメソッドは、最初の行を列名として扱うかデータとして扱うかを決定するブール型のパラメータを受け取ります。 拡張プロパティの処理や複雑なセル型の変換には追加の設定が必要になる場合がありますが、デフォルトの方法でほとんどのケースを確実に処理できます。

using IronXL;
using System.Data;
// Load workbook from file path
string filePath = @"C:\Data\inventory.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.WorkSheets[0];
// First row as headers (true) or as data (false)
DataTable dataTableWithHeaders = worksheet.ToDataTable(true);
DataTable dataTableWithoutHeaders = worksheet.ToDataTable(false);
// Process each row in the DataTable
foreach (DataRow row in dataTableWithHeaders.Rows)
{
    for (int i = 0; i < dataTableWithHeaders.Columns.Count; i++)
    {
        object value = row[i];
        Console.Write($"{value}\t");
    }
    Console.WriteLine();
}

出力

IronXLでExcelファイルをDataTableにインポート: 画像2 - ExcelファイルをDataTableにインポートし読み込むための出力

この柔軟性により、 IronXLは構造に関係なくExcelスプレッドシートファイルを処理するのに最適です。 EPPlusパッケージや、新しいOleDbDataAdapterインスタンスを必要とする従来の方法とは異なり、 IronXLは単一のメソッド呼び出しで変換を処理します。 このライブラリは、.NET Core、 .NET Frameworkをサポートしており、Microsoft Excelのインストールを必要とせずにクロスプラットフォーム展開が可能です。

複数のExcelワークシートをデータセットに変換するにはどうすればよいですか?

Excel ブックに複数のシートが含まれている場合、DataSet に変換すると、各 Excel ワークシートがコレクション内の個別の DataTable として保持されます。 この手法は、レポート作成アプリケーションや複数シートのデータ処理に不可欠です。

using IronXL;
using System;
using System.Data;
// Load multi-sheet workbook
WorkBook workbook = WorkBook.Load("quarterly-reports.xlsx");
// Convert entire workbook to DataSet (each sheet becomes a DataTable)
DataSet dataset = workbook.ToDataSet();
// Iterate through all tables in the DataSet
foreach (DataTable table in dataset.Tables)
{
    Console.WriteLine($"Sheet: {table.TableName}");
    Console.WriteLine($"Rows: {table.Rows.Count}, Columns: {table.Columns.Count}");
    foreach (DataRow row in table.Rows)
    {
        Console.WriteLine(string.Join(", ", row.ItemArray));
    }
}

出力

IronXLでExcelファイルをDataTableにインポート: 画像3 - マルチシートのExcelファイルをDataSetにインポートするための出力

ToDataSet メソッドは、ワークシートごとに DataTable オブジェクトを含む新しい DataSet を作成します。 各テーブルの TableName プロパティには元の Excel シート名が反映されるため、処理中に特定のデータを簡単に参照できます。

Excelからデータベースにデータをインポートするにはどうすればよいですか?

一般的なワークフローとしては、Excelファイルのデータを読み込み、データベースシステムに挿入するという流れがある。 DataTable構造は、データベース操作のため for .NETとシームレスに統合されます。

using IronXL;
using System.Data;
using System.Data.SqlClient;
string filePath = @"C:\imports\customer-data.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert Excel data to DataTable
DataTable dt = worksheet.ToDataTable(true);
// Validate data before database insert
if (dt == null || dt.Rows.Count == 0)
{
    Console.WriteLine("No data to import");
    return;
}
// Insert into database using SqlBulkCopy
string connectionString = "Server=.;Database=Sales;Trusted_Connection=True;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
    {
        bulkCopy.DestinationTableName = "Customers";
        bulkCopy.WriteToServer(dt);
    }
}
Console.WriteLine($"Imported {dt.Rows.Count} records successfully");

このコードは、Excelファイルを読み込み、それをDataTableに変換し、データベースに一括挿入する方法を示しています。 nullチェックは、インポート操作を実行する前にデータの整合性を確保します。

データテーブルをExcelにエクスポートするにはどうすればよいですか?

IronXLは双方向のデータフローをサポートしており、DataTableオブジェクトからExcelファイルを作成して、レポート作成やデータエクスポートに利用できます。

using IronXL;
using System.Data;
// Create sample DataTable
DataTable dt = new DataTable("Products");
dt.Columns.Add("ProductID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Rows.Add(1, "Widget", 29.99m);
dt.Rows.Add(2, "Gadget", 49.99m);
// Create new workbook and load DataTable
WorkBook workbook = WorkBook.Create();
workbook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } });
// Save as Excel file
workbook.SaveAs("exported-products.xlsx");

出力

IronXLでExcelファイルをDataTableにインポート: 画像4 - DataTableがExcelにエクスポートされました

LoadWorkSheetsFromDataSet メソッドは、DataTable オブジェクトを含む DataSet を受け取り、対応するワークシートを作成します。 DataTableをExcelにエクスポートする方法については、ドキュメントをご覧ください。

結論

IronXLは、Excelからデータテーブルへの変換の複雑さを、分かりやすいメソッド呼び出しに変換します。 単一のExcelワークシートをインポートする場合でも、複数のシートを含むワークブックを完全なデータセットに処理する場合でも、このライブラリはXLSXファイル、データ型の変換、およびストリームベースの読み込みを効率的に処理します。

DataTableの柔軟性とIronXLの直感的なAPIの組み合わせにより、データベース統合、レポートシステム、アプリケーションデータバインディングのための強力なデータワークフローが実現します。 IronXLをダウンロードしてExcelデータの処理を効率化するか、本番環境への導入用にライセンスをご購入ください

最初のステップ:
arrow pointer
Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。