Read Excel Files in ASP.NET MVC Using IronXL

This article was translated from English: Does it need improvement?
Translated
View the article in English

このチュートリアルは、開発者がASP.NET MVCアプリでIronXLを使用してExcelファイルの解析を実装する方法を案内します。

クイックスタート: ExcelシートをMVCでDataTableにロードして変換する

この例では、数秒で始める方法を示します: Excelワークブックをロードし、最初のワークシートを選択し、System.Data.DataTableに変換します。IronXLを使用し、Interopは不要で、手間もかかりません。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    var dataTable = IronXL.WorkBook.Load("CustomerData.xlsx").DefaultWorkSheet.ToDataTable(true);
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小ワークフロー (5ステップ)

  1. ASP.NETでExcelファイルを読むためのC#ライブラリをインストールします
  2. Excelファイルのターゲットシートをロードしてアクセスする
  3. ToDataTable メソッドにアクセスして View に返します
  4. ループを使用してExcelデータをウェブページに表示する
  5. すべてのデータを反復して、HTMLテーブルを作成する

ASP.NET プロジェクトを作成する

Visual Studio 2022(または同様の製品バージョン)を使用して、新しいASP.NETプロジェクトを作成します。 特定のプロジェクトに必要な追加のNuGetパッケージやソースコードを追加します。

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

今日あなたのプロジェクトでIronXLを無料トライアルで使用開始。

最初のステップ:
green arrow pointer


新しいプロジェクトを作成した後、IronXLライブラリをインストールする必要があります。 以下の手順に従ってIronXLライブラリをインストールします。 NuGetパッケージマネージャーコンソールを開き、次のコマンドを実行します。

Install-Package IronXL.Excel

Excelファイルを読み込む

ASP.NETプロジェクトのデフォルトコントローラーを開きます(例:HomeController.cs)し、Index メソッドを以下のコードに置き換えます。

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.
    var dataTable = workSheet.ToDataTable();

    // Send the DataTable to the view for rendering.
    return View(dataTable);
}
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.
    var dataTable = workSheet.ToDataTable();

    // Send the DataTable to the view for rendering.
    return View(dataTable);
}
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.
	Dim dataTable = workSheet.ToDataTable()

	' Send the DataTable to the view for rendering.
	Return View(dataTable)
End Function
$vbLabelText   $csharpLabel

Index アクションメソッドでは、IronXLのLoad メソッドを使用してExcelファイルをロードします。 Excelファイルのパス(ファイル名を含む)がメソッド呼び出しのパラメーターとして提供されます。 次に、最初のExcelシートを作業シートとして選択し、そこに含まれるデータをDataTable オブジェクトにロードします。 最後に、DataTable はフロントエンドに送信されます。

ウェブページにExcelデータを表示する

次の例では、前の例で返されたDataTableをウェブブラウザで表示する方法を示します。

この例で使用される作業用Excelファイルは以下の通りです:

class="content-img-align-center">
class="center-image-wrapper">ASP.NET MVCでIronXLを使用してExcelファイルを読み込む、図1:Excelファイル

Excelファイル

index.cshtml(indexビュー)を開き、コードを以下のHTMLコードに置き換えます。

@{
    ViewData["Title"] = "Home Page";
}

@using System.Data
@model DataTable

<div class="text-center">
    <h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>
<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>
@{
    ViewData["Title"] = "Home Page";
}

@using System.Data
@model DataTable

<div class="text-center">
    <h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>
<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>
@
If True Then
	ViewData("Title") = "Home Page"
End If

'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> <tbody> foreach(DataRow row in Model.Rows)
"display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> (Of tbody) foreach(DataRow row in Model.Rows)
		If True Then
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class
"text-center"> <h1 class="display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class
[using] System.Data model DataTable <div class="text-center"> <h1 class
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'			(Of tr) @for(int i = 0; i < Model.Columns.Count; i++)
'				{
'					<td> @row[i]</td>
'				}
			</tr>
		End If

'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	</tbody> </table>
$vbLabelText   $csharpLabel

上記のコードは、Indexメソッドから返されたDataTableをモデルとして使用します。 @forループを使用してテーブルの各行をウェブページに印刷し、装飾のためにBootstrapフォーマットを含めます。

プロジェクトを実行すると、以下に示す結果が得られます。

class="content-img-align-center">
class="center-image-wrapper">ASP.NET MVCでIronXLを使用してExcelファイルを読み込む、図2:Bootstrapテーブル

Bootstrapテーブル

よくある質問

Interopを使用せずにASP.NET MVCでExcelファイルを読むにはどうすればよいですか?

IronXLライブラリを利用することで、Interopを使用せずにASP.NET MVCでExcelファイルを読むことができます。まず、NuGet経由でIronXLをインストールし、WorkBook.Loadメソッドを使用してExcelファイルをロードします。ワークシートにアクセスし、それをDataTableに変換してさらに処理します。

ASP.NET MVCを使用してウェブページにExcelデータを表示するために必要なステップは何ですか?

ASP.NET MVCを使用してウェブページにExcelデータを表示するには、IronXLでExcelファイルをロードし、それをDataTableに変換し、ビューに渡します。ビューでは、Razor構文を使用してDataTableを反復し、データをHTMLテーブルとしてレンダリングします。

ASP.NETアプリケーションでExcelファイルを処理するために必要なライブラリをインストールする方法は?

ASP.NETアプリケーションでExcelファイルを処理するためには、Visual StudioでNuGetパッケージマネージャーコンソールを開き、コマンドInstall-Package IronXL.Excelを実行してIronXLライブラリをインストールします。

ASP.NET MVCでのExcel操作にIronXLを使用する利点は何ですか?

IronXLは、Excel Interopを必要とせずにExcelファイルの読み取り、書き込み、および操作を可能にする使いやすいAPIを提供することで、ASP.NET MVCでのExcel操作を簡素化し、パフォーマンスの向上と複雑性の低減を図ります。

ASP.NET MVCでExcelワークシートをDataTableに変換するにはどうすればよいですか?

ASP.NET MVCでExcelファイルをIronXLでロードした後、ToDataTableメソッドを使用してワークシートをDataTableに変換できます。これにより、データの処理と操作が容易になります。

IronXLはASP.NET Core MVCアプリケーションでExcel処理に使用できますか?

はい、IronXLはASP.NET Core MVCアプリケーションと互換性があり、Excel Interopに依存することなくExcelファイルを効率的に読み取り、操作するために使用できます。

Excelファイルを読むためにコントローラーにどのようなコード修正が必要ですか?

デフォルトのコントローラー、例えば HomeController.cs を修正し、IronXL の WorkBook.Load を使用して Excel ワークブックをロードし、ワークシートデータを DataTable に変換してビューに渡します。

IronXLはASP.NETでのExcelファイル読み取りプロセスをどのように改善しますか?

IronXLは、Excel Interopを必要とせずにExcelデータのシームレスな読み取り、書き込み、および操作を可能にする直感的なAPIを提供することで、ASP.NETにおけるExcelファイル読み取りプロセスを向上させます。

Curtis Chau
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はいいですか?
Nuget ダウンロード 1,686,155 | バージョン: 2025.11 ただ今リリースされました