IRONSOFTWAREHOME
他のコンポーネントと比較する

EPPlusでExcelをDataTableに読み込むC#(IronXLチュートリアル)

Curtis Chau
Curtis Chau
Updated: 2026年7月19日

C#でExcelデータをDataTableに読み込むためのExcelライブラリをお探しですか?

C#でExcelファイルをDataTableに読み込むことは、データ分析とレポート作成、データベースへのデータのインポート、データ移行、データ検証とクリーンアップ、他のシステムとの統合、オートメーション、バッチ処理など、さまざまな業界や領域で多くの実用的な用途があります。

この記事では、C# for .NET Core用のExcelデータとExcelファイルをDataTableに読み込むための2つの異なるExcelライブラリを比較検討します。 ライブラリは

  1. EPPlus
  2. IronXL

1. EPPlusライブラリ

EPPlusは、C#でExcelファイルを作成および操作するための強力なオープンソースライブラリです。 このライブラリは、サーバーやクライアントマシンにMicrosoft OfficeやExcelのインストールを必要とせずに、Excelスプレッドシートをプログラム的に生成、読み込み、変更するためのシンプルで直感的なAPIを提供します。 EPPlusを使用すると、ワークシートの作成、データの追加、フォーマットの適用、チャートの作成、その他のExcelファイルに対する操作が簡単に行えます。 古い.xls形式と新しい.xlsx形式の両方に対応しており、効率的なパフォーマンスとメモリ管理を提供します。 動的なレポートの生成、データのインポート/エクスポート、Excel関連タスクの自動化が必要な場合、EPPlusはC#アプリケーションでのExcelファイルの取り扱いを簡素化する包括的な機能と能力を提供します。

2. IronXL

IronXLは、.NETアプリケーション内でExcelファイルを簡単に読み書きし操作する能力を開発者に提供する強力で多用途なライブラリです。 直感的で包括的なAPIにより、IronXLはスプレッドシートの操作が従来は複雑だったプロセスを簡素化し、データの抽出、計算の実行、チャートの作成、レポートの生成をスムーズに行えるようにします。 データのインポート/エクスポート自動化、データ分析、動的なExcelテンプレートの作成において、IronXLは開発者の貴重な時間と労力を節約しながら、Excelデータの取り扱いの正確性と信頼性を確保する堅牢なソリューションを提供します。 シームレスな統合、広範なドキュメント、および多様な機能範囲を持つIronXLは、Excelファイルの操作に関連する課題を克服したい開発者のための信頼性と効率性を持ったツールとして最適な選択肢となります。

3. EPPlusライブラリのインストール

C#プロジェクトにEPPlusライブラリをインストールするには、まずVisual Studioで新しいコンソールベースのプロジェクトを作成する必要があります。 その後、NuGetパッケージマネージャーを使用して簡単にインストールできます。

新しいプロジェクトを作成したら、ツールに移動し、NuGetパッケージマネージャーにホバーした後、"ソリューション用のNuGetパッケージの管理"を選択します。

新しいウィンドウが表示されます。 この新しいウィンドウで、"参照"オプションに行き、"EPPlus"を検索します。 パッケージのリストが表示され、最新の安定版を選択する必要があります。 その後、右側の"インストール"ボタンをクリックしてEPPlusライブラリをインストールします。

これで、EPPlusがプロジェクトに追加されます。

4. IronXLのインストール

IronXLをインストールする方法はいくつかありますが、このセクションではNuGetパッケージマネージャーを使用したIronXLのインストールのみを説明します。

セクション3と同様に、新しいプロジェクトを作成し、"ツール"に移動して、ソリューション用のNuGetパッケージマネージャーを開きます。

新しいウィンドウで、検索バーに"IronXL"というキーワードを入力します。 リストが表示され、インストールしたいIronXLパッケージを選択できます。 その後、"インストール"ボタンをクリックしてプロジェクトにIronXLをインストールします。

これでIronXLは使用可能です。

5. EPPlusライブラリを使用してExcelファイルとデータをDataTableに読み込む

このセクションでは、C#のEPPlusパッケージExcelライブラリを使用してDataTableとしてExcelを読み込むコードを調べます。

DataTableとして読み込むサンプルExcelファイルが必要です。 その目的のために、サンプルのExcelファイルを生成します。

以下はExcelファイルをDataTableとして読み込むコードです。

using OfficeOpenXml;
using System;
using System.Data;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        var path = @"sample.xlsx"; // Specify the path to your Excel file
        var data = ExcelDataToDataTable(path, "Table");

        // Iterate through each row in the DataTable and print its contents
        foreach (DataRow row in data.Rows)
        {
            foreach (var wsrow in row.ItemArray)
            {
                Console.Write(wsrow + " ");
            }
            Console.WriteLine();
        }
    }

    /// <summary>
    /// Converts Excel sheet data to a DataTable.
    /// </summary>
    /// <param name="filePath">The path to the Excel file.</param>
    /// <param name="sheetName">The name of the worksheet to read from.</param>
    /// <param name="hasHeader">Indicates whether the Excel sheet has a header row.</param>
    /// <returns>DataTable containing Excel data.</returns>
    public static DataTable ExcelDataToDataTable(string filePath, string sheetName, bool hasHeader = true)
    {
        DataTable dt = new DataTable();
        var fi = new FileInfo(filePath);

        // Check if the file exists
        if (!fi.Exists)
            throw new Exception("File " + filePath + " does not exist.");

        // Set the license context for EPPlus
        ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

        // Load the Excel file into an EPPlus ExcelPackage
        using (var xlPackage = new ExcelPackage(fi))
        {
            // Get the specified worksheet from the workbook
            var worksheet = xlPackage.Workbook.Worksheets[sheetName];

            // Convert the worksheet to a DataTable, optionally using the first row as column names
            dt = worksheet.Cells[1, 1, worksheet.Dimension.End.Row, worksheet.Dimension.End.Column].ToDataTable(c =>
            {
                c.FirstRowIsColumnNames = hasHeader;
            });
        }

        return dt;
    }
}

上記のコードは、ファイルパスとシート名などの入力パラメータを取り、DataTableを出力として返すメソッドを定義しています。 また、DataTableの各行を繰り返してデータを表示します。

5.1. 出力

出力はExcelファイルの内容がコンソールに印刷されることになります。

6. IronXLを使用してExcelファイルをDataTableとして読み込む

IronXLを使用すると、Excelシートを変換してDataTableとして読み込むのが簡単で、わずか数行のコードで行えます。 さらに、以前のExcelファイルを入力として使用します。

次のコード例は、上記のコードと同じ機能を実行しますが、IronXLを使用します。

using IronXL;
using System;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        // Load the Excel file into an IronXL WorkBook
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Get the default worksheet from the workbook
        WorkSheet workSheet = workBook.DefaultWorkSheet;

        // Convert the worksheet to a DataTable, specifying that the first row contains column names
        DataTable table = workSheet.ToDataTable(true);

        // Iterate through each row in the DataTable and print its contents
        foreach (DataRow row in table.Rows)
        {
            foreach (var cell in row.ItemArray)
            {
                Console.Write(cell + " ");
            }
            Console.WriteLine();
        }
    }
}

上記のコード例では、単にExcelファイルを読み込み、DataTableに変換しています。

6.1 出力

出力はExcelファイルの内容がコンソールに印刷されることになります。

7. 結論

結論として、C#でExcelファイルを読み、それをDataTableに変換することに関して、EPPlusとIronXLのどちらも優れたライブラリであり、強力な機能を提供し、プロセスを簡素化します。

EPPlusは、プログラム的にExcelスプレッドシートを生成、読み込み、修正する簡潔なAPIを提供するオープンソースのライブラリです。 .xls形式と.xlsx形式の両方をサポートし、効率的なパフォーマンスとメモリ管理を提供します。

一方、IronXLは、.NETアプリケーションでExcelファイルを簡単に扱えるようにする多用途なライブラリです。 直感的なAPIと包括的な機能を提供し、データの抽出、計算の実行、チャートの作成、レポートの生成を可能にします。 IronXLは、データのインポート/エクスポート、データ分析、動的テンプレートの作成など、複雑なExcelファイルの操作タスクを簡素化します。

IronXLとEPPlusのコード例を比較すると、EPPlusのコードはかなり長く、複雑で読みづらいことがわかります。 一方、IronXLのコードは非常にシンプルで読みやすいです。 IronXLはデフォルトのワークシートを使用しますが、EPPlusではワークシートの名前を指定する必要があります。 そうでなければ、エラーが発生します。

まとめとして、Excelファイルの操作とDataTableとしての読み込みについては、EPPlusよりもIronXLをお勧めします。 また、IronXLはEPPlusよりもシンプルなコードでExcelファイルを扱う際の機能を多く提供しています。 IronXLのチュートリアルの詳細については、次のリンクをご覧ください。

ご注意: EPPlusはその権利保有者の登録商標です。 このサイトは、EPPlusとは提携しておらず、賛同、または後援されていません。] すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。
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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。