IronXL ハウツー ASP.NET MVC Read Excel File ASP.NETのMVCでC#を使用してExcelファイルを読む with IronXL カーティス・チャウ 更新日:2026年1月10日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronXLはASP.NET MVC開発者がMicrosoft Officeに依存することなくC#でExcelファイルを直接読み込み、ExcelデータをSystem.Data.DataTableに変換し、わずか数行のコードでWebビューに簡単に表示できるようにします。 クイックスタート: ExcelシートをMVCでDataTableにロードして変換する この例では、Excelワークブックを読み込み、最初のワークシートを選択し、IronXLを使用してSystem.Data.DataTableに変換します。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronXL をインストールします PM > Install-Package IronXL.Excel このコード スニペットをコピーして実行します。 var dataTable = IronXL.WorkBook.Load("CustomerData.xlsx").DefaultWorkSheet.ToDataTable(true); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう 30日間無料トライアル ### 最小限のワークフロー(5ステップ) ASP.NET で Excel ファイルを読み取るための C# ライブラリをインストールする Excelファイルで対象のシートをロードしアクセスする ToDataTableメソッドにアクセスし、 Viewに返します。 ループを使ってExcelデータをWebページに表示する すべてのデータを反復処理し、HTMLテーブルを作成する。 Excel読み取り用のASP.NETプロジェクトを作成するにはどうすればよいですか? なぜ Visual Studio 2022 が最適なのですか? Visual Studio 2022を使用して、新しいASP.NETプロジェクトを作成します。 Visual Studio 2022では、.NET 6+フレームワークの優れたサポート、IronXLメソッドのインテリセンスの改善、大きなExcelファイルを扱う際のパフォーマンスの向上が図られています。 IDEのNuGet統合により、IronXLのインストールは特に簡単です。 どのプロジェクトテンプレートを選べばよいですか? ASP.NETでExcelファイルを読むには、"ASP.NET Core Web App (Model-View-Controller)"テンプレートを選択してください。 このテンプレートは、データ処理(Excelの読み込み)とプレゼンテーション・ロジックを分離したクリーンなMVC構造を提供します。 MVCパターンは、IronXLのDataTable変換と完全に連動しており、コントローラでスプレッドシートを読み込み、ビューでシームレスに表示することができます。 どの.NETバージョンを推奨しますか? IronXLは、.NET Framework 4.6.2+と.NET Core 3.1+で動作します。 新しいASP.NET MVCプロジェクトでは、パフォーマンスとセキュリティを最適化するために、.NET 6.0以上を使用してください。 これらのバージョンでは、大きなExcelファイルを処理する際のメモリ管理が改善され、スプレッドシートファイルタイプを変換する際の非同期/待機サポートが向上しています。 どのようにIronXLライブラリをインストールしますか? インストール要件は何ですか? どのインストール方法が最も速いですか? 新しいプロジェクトを作成したら、IronXLライブラリをインストールしてください。 以下の手順に従って、IronXLをインストールしてください。 NuGetパッケージマネージャーコンソールを開き、次のコマンドを実行します。 Install-Package IronXL.Excel どのようにインストールを確認できますか? IronXLが正しくインストールされていることを確認するには、ソリューションエクスプローラーでプロジェクトの依存関係を確認してください。 IronXL "は "Dependencies > Packages "にリストされています。 さらに、コントローラファイルの先頭にusing IronXL;を追加してみてください。 インストールに関するトラブルシューティングについては、ライセンス ガイドをご覧ください。 コントローラで Excel ファイルを読むには? コントローラアクションにはどのようなコードがありますか? ASP.NETプロジェクトのデフォルトのコントローラ(例えば、HomeController.cs)を開き、Indexメソッドを次のコードに置き換えてください: using IronXL; using System.Data; public ActionResult Index() { // Load the Excel workbook from a specified path. WorkBook workBook = WorkBook.Load(@"C:\Files\Customer Data.xlsx"); // Access the first worksheet from the workbook. WorkSheet workSheet = workBook.WorkSheets.First(); // Convert the worksheet data to a DataTable object. // The 'true' parameter uses the first row as column headers var dataTable = workSheet.ToDataTable(true); // Send the DataTable to the view for rendering. return View(dataTable); } using IronXL; using System.Data; public ActionResult Index() { // Load the Excel workbook from a specified path. WorkBook workBook = WorkBook.Load(@"C:\Files\Customer Data.xlsx"); // Access the first worksheet from the workbook. WorkSheet workSheet = workBook.WorkSheets.First(); // Convert the worksheet data to a DataTable object. // The 'true' parameter uses the first row as column headers var dataTable = workSheet.ToDataTable(true); // Send the DataTable to the view for rendering. return View(dataTable); } Imports IronXL Imports System.Data Public Function Index() As ActionResult ' Load the Excel workbook from a specified path. Dim workBook As WorkBook = WorkBook.Load("C:\Files\Customer Data.xlsx") ' Access the first worksheet from the workbook. Dim workSheet As WorkSheet = workBook.WorkSheets.First() ' Convert the worksheet data to a DataTable object. ' The 'true' parameter uses the first row as column headers Dim dataTable = workSheet.ToDataTable(True) ' Send the DataTable to the view for rendering. Return View(dataTable) End Function $vbLabelText $csharpLabel なぜ他の形式ではなくDataTableを使うのですか Indexアクションメソッドで、IronXLのLoadメソッドを使用してExcelファイルをロードします。 Excelファイルのパス(ファイル名を含む)がメソッド呼び出しのパラメーターとして提供されます。 次に、最初のExcelシートを作業シートとして選択し、そこに含まれるデータをDataTableオブジェクトにロードします。 最後に、DataTableをフロントエンドに送信します。 DataTableは、Razorビューとシームレスに統合され、行と列を反復処理するための組み込みサポートを提供するため、ASP.NET MVCに最適です。 カスタムオブジェクトとは異なり、DataTableはモデルマッピングを必要とせず、混合データ型を自動的に処理します。 必要に応じて、DataSetとDataTableをExcelにエクスポートすることもできます。 ファイルが見つからない場合のエラー処理はどうなりますか? 堅牢なエラー処理により、Excelファイルがなかったり破損していても、アプリケーションがクラッシュすることはありません。 以下は、適切な例外処理を施した強化版です: public ActionResult Index() { try { string filePath = @"C:\Files\Customer Data.xlsx"; // Check if file exists before attempting to load if (!System.IO.File.Exists(filePath)) { ViewBag.Error = "Excel file not found at specified location."; return View(new DataTable()); } // Load workbook with error handling WorkBook workBook = WorkBook.Load(filePath); // Verify worksheet exists if (workBook.WorkSheets.Count == 0) { ViewBag.Error = "No worksheets found in the Excel file."; return View(new DataTable()); } WorkSheet workSheet = workBook.WorkSheets.First(); var dataTable = workSheet.ToDataTable(true); return View(dataTable); } catch (Exception ex) { // Log the exception (consider using a logging framework) ViewBag.Error = $"Error reading Excel file: {ex.Message}"; return View(new DataTable()); } } public ActionResult Index() { try { string filePath = @"C:\Files\Customer Data.xlsx"; // Check if file exists before attempting to load if (!System.IO.File.Exists(filePath)) { ViewBag.Error = "Excel file not found at specified location."; return View(new DataTable()); } // Load workbook with error handling WorkBook workBook = WorkBook.Load(filePath); // Verify worksheet exists if (workBook.WorkSheets.Count == 0) { ViewBag.Error = "No worksheets found in the Excel file."; return View(new DataTable()); } WorkSheet workSheet = workBook.WorkSheets.First(); var dataTable = workSheet.ToDataTable(true); return View(dataTable); } catch (Exception ex) { // Log the exception (consider using a logging framework) ViewBag.Error = $"Error reading Excel file: {ex.Message}"; return View(new DataTable()); } } Imports System.IO Imports System.Data Public Function Index() As ActionResult Try Dim filePath As String = "C:\Files\Customer Data.xlsx" ' Check if file exists before attempting to load If Not File.Exists(filePath) Then ViewBag.Error = "Excel file not found at specified location." Return View(New DataTable()) End If ' Load workbook with error handling Dim workBook As WorkBook = WorkBook.Load(filePath) ' Verify worksheet exists If workBook.WorkSheets.Count = 0 Then ViewBag.Error = "No worksheets found in the Excel file." Return View(New DataTable()) End If Dim workSheet As WorkSheet = workBook.WorkSheets.First() Dim dataTable = workSheet.ToDataTable(True) Return View(dataTable) Catch ex As Exception ' Log the exception (consider using a logging framework) ViewBag.Error = $"Error reading Excel file: {ex.Message}" Return View(New DataTable()) End Try End Function $vbLabelText $csharpLabel 異なるワークシートを選択するにはどうすればよいですか? IronXLは、特定のワークシートを選択して作業するための複数の方法を提供します。 インデックスや名前でワークシートにアクセスしたり、利用可能なすべてのシートを繰り返し表示したりすることができます: // Method 1: Select by worksheet name WorkSheet namedSheet = workBook.GetWorkSheet("Sales Data"); // Method 2: Select by index (zero-based) WorkSheet secondSheet = workBook.WorkSheets[1]; // Method 3: Select the default/active worksheet WorkSheet defaultSheet = workBook.DefaultWorkSheet; // Method 4: Iterate through all worksheets foreach (WorkSheet sheet in workBook.WorkSheets) { string sheetName = sheet.Name; // Process each worksheet } // Method 1: Select by worksheet name WorkSheet namedSheet = workBook.GetWorkSheet("Sales Data"); // Method 2: Select by index (zero-based) WorkSheet secondSheet = workBook.WorkSheets[1]; // Method 3: Select the default/active worksheet WorkSheet defaultSheet = workBook.DefaultWorkSheet; // Method 4: Iterate through all worksheets foreach (WorkSheet sheet in workBook.WorkSheets) { string sheetName = sheet.Name; // Process each worksheet } ' Method 1: Select by worksheet name Dim namedSheet As WorkSheet = workBook.GetWorkSheet("Sales Data") ' Method 2: Select by index (zero-based) Dim secondSheet As WorkSheet = workBook.WorkSheets(1) ' Method 3: Select the default/active worksheet Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet ' Method 4: Iterate through all worksheets For Each sheet As WorkSheet In workBook.WorkSheets Dim sheetName As String = sheet.Name ' Process each worksheet Next $vbLabelText $csharpLabel ExcelデータをWebページに表示するには? どのようなビューコードが必要ですか? 次の例では、前の例で返されたDataTableをWebブラウザで表示する方法を示します。 この例で使用されているExcelファイルを以下に示します: Excelファイル index.cshtml(インデックス・ビュー)を開き、コードを次のHTMLコードに置き換えてください: @{ ViewData["Title"] = "Home Page"; } @using System.Data @model DataTable <div class="text-center"> <h1>Welcome to IronXL Read Excel MVC</h1> </div> @* Check for errors first *@ @if (ViewBag.Error != null) { <div class="alert alert-danger"> @ViewBag.Error </div> } @* Display table only if data exists *@ @if (Model != null && Model.Rows.Count > 0) { <table class="table table-dark"> <tbody> @foreach (DataRow row in Model.Rows) { <tr> @for (int i = 0; i < Model.Columns.Count; i++) { <td>@row[i]</td> } </tr> } </tbody> </table> } else { <p>No data to display.</p> } @{ ViewData["Title"] = "Home Page"; } @using System.Data @model DataTable <div class="text-center"> <h1>Welcome to IronXL Read Excel MVC</h1> </div> @* Check for errors first *@ @if (ViewBag.Error != null) { <div class="alert alert-danger"> @ViewBag.Error </div> } @* Display table only if data exists *@ @if (Model != null && Model.Rows.Count > 0) { <table class="table table-dark"> <tbody> @foreach (DataRow row in Model.Rows) { <tr> @for (int i = 0; i < Model.Columns.Count; i++) { <td>@row[i]</td> } </tr> } </tbody> </table> } else { <p>No data to display.</p> } $vbLabelText $csharpLabel テーブルのスタイリングにBootstrapを使用する理由 上記のコードは、Indexメソッドから返されたDataTableをモデルとして使用します。 @forループを使用してテーブルの各行をウェブページに印刷し、装飾のためにBootstrapフォーマットを含めます。 Bootstrapは、さまざまな画面サイズに自動的に調整するレスポンシブなテーブルデザインを提供します。 table-darkクラスは、読みやすい魅力的な暗いテーマの表を作成します。 セルの境界線と配置や背景のパターンと色のような、より高度なExcelの書式設定のために、IronXLは、構造化データに直接アクセスするための追加のメソッドを提供します。 最終的なアウトプットはどのようになりますか? プロジェクトを実行すると、以下のような結果が得られます: ブートストラップテーブル テーブルにヘッダーを追加するにはどうすればよいですか? Excelファイルから列ヘッダーを表示するには、テーブルヘッダーセクションを含むようにビューコードを修正してください。 ToDataTable(true)を呼び出すと、IronXLは自動的に最初の行を列名として使用します: @if (Model != null && Model.Rows.Count > 0) { <table class="table table-dark"> <thead> <tr> @foreach (DataColumn column in Model.Columns) { <th>@column.ColumnName</th> } </tr> </thead> <tbody> @foreach (DataRow row in Model.Rows) { <tr> @for (int i = 0; i < Model.Columns.Count; i++) { <td>@row[i]</td> } </tr> } </tbody> </table> } @if (Model != null && Model.Rows.Count > 0) { <table class="table table-dark"> <thead> <tr> @foreach (DataColumn column in Model.Columns) { <th>@column.ColumnName</th> } </tr> </thead> <tbody> @foreach (DataRow row in Model.Rows) { <tr> @for (int i = 0; i < Model.Columns.Count; i++) { <td>@row[i]</td> } </tr> } </tbody> </table> } $vbLabelText $csharpLabel この機能拡張により、Excelファイルから"顧客名"、"送料"、"単価"などの適切な列見出しが表示されます。名前付き範囲 や 名前付きテーブル を含むより複雑なシナリオのために、 IronXL は、構造化されたデータに直接アクセスするための追加のメソッドを提供します。 よくある質問 Microsoft OfficeなしでASP.NET MVCでExcelファイルを読むにはどうすればよいですか? IronXLはMicrosoft Officeに依存することなく、C#で直接Excelファイルを読み込むことができます。NuGet経由でIronXLをインストールし、WorkBook.Load()を使ってExcelファイルを開き、たった1行のコードでDataTableに変換するだけです: var dataTable = IronXL.WorkBook.Load('CustomerData.xlsx').DefaultWorkSheet.ToDataTable(true); ASP.NETでExcelデータをDataTableに変換する最速の方法は何ですか? IronXLはExcelワークシートをSystem.Data.DataTableオブジェクトに変換するToDataTable()メソッドを提供します。IronXLでワークブックをロードした後、任意のワークシートにアクセスし、ToDataTable(true)を呼び出してヘッダーを含めます。この変換は1行のコードで済み、ASP.NET MVCビューとシームレスに動作します。 WebアプリケーションでExcelファイルを処理するには、どの.NETバージョンを使用すればよいですか? IronXLは.NET Framework 4.6.2+と.NET Core 3.1+をサポートしています。新しいASP.NET MVCプロジェクトでは、.NET 6.0以上を推奨します。.NET 6.0では、IronXLで大きなExcelファイルを処理する際のメモリ管理が改善され、スプレッドシート操作の非同期/待機サポートが向上しています。 Excelの読み取り機能に最適なVisual Studioプロジェクトテンプレートは? プロジェクトを作成するときは、'ASP.NET Core Web App (Model-View-Controller)'テンプレートを選択してください。このMVC構造はIronXLのDataTable変換機能を完全に補完し、ビューでデータをきれいに表示しながら、コントローラでExcelファイルを読み込んで処理することを可能にします。 ASP.NETプロジェクトにExcel読み取りライブラリをインストールする方法を教えてください。 NuGetパッケージマネージャーコンソールから'Install-Package IronXL.Excel'を実行してIronXLをインストールする。インストール後、プロジェクトの依存関係をチェックし、コントローラにusing IronXL;'を追加することで、IronXLが正しく追加されていることを確認する。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 1,846,091 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 1,846,091 ライセンスを見る