IRONSOFTWAREHOME
IRONXLの使用

ASP.NETでExcelを表示する方法

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

この包括的なチュートリアルでは、ASP.NET MVCとIronXLを使用してExcelビューアを構築する方法を示します。 このビューアを使用すると、ユーザーはウェブページから直接Excelファイルを表示、編集、ナビゲートできます。

IronXLとは?

IronXLは、Excel操作に関連する多数の機能を提供する強力な.NETライブラリです。 さまざまなファイル形式(XLS、XLSX、CSVなど)で.NET開発者がExcelドキュメントに書き込み、操作し、読み取ることができる簡略化されたAPIを提供します。

IronXLを使用すると、Excelファイルを読み取り、データを抽出し、ワークシートを追加または編集し、行や列を作成または変更し、を適用し、変更を保存することができます。 これらの操作はすべて、あなたのマシンにMicrosoft Excelをインストールする必要なく実行できるのです。

IronXLは画像、スタイリング、条件付き書式設定、およびその他の複雑なExcel機能をサポートしており、.NETのExcel操作に対して包括的なソリューションです。 ASP.NET MVCアプリケーションのデータソースおよびスプレッドシート要件を処理するのに最適です。 IronXLライブラリは、ASP.NET WebアプリケーションでExcelファイルを表示するために使用されます。

前提条件

  • ASP.NET MVCの基本的な理解
  • あなたのマシンにインストールされたVisual Studio
  • IronXLライブラリをインストールしました。 インストールガイドは、彼らの公式ドキュメントにて見つけることができます。

開始方法

まず、Visual Studioで新しいASP.NET MVCプロジェクトを作成しましょう。

  1. Visual Studioを開きます。
  2. ファイル > 新規 > プロジェクトをクリック。
  3. 新しいプロジェクトウィンドウで、**ASP.NET Web アプリケーション (.NET Framework)**テンプレートを選択します。

ExcelをASP.NETで表示する方法、図1: Visual Studioで新しいASP.NET Webアプリケーションを作成する Visual Studioで新しいASP.NET Webアプリケーションを作成

  1. プロジェクトにExcelViewerと名付け、プロジェクトの位置を選択して作成ボタンをクリックします。

ExcelをASP.NETで表示する方法、図2: プロジェクトを設定する プロジェクトを設定

この記事では、このASP.NET MVCアプリケーションでExcelビューア機能を実装することに焦点を当てます。

プロジェクトにIronXLを追加

Excelファイル形式(.xls、.xlsx、.csvなど)を扱うために、IronXLはExcelドキュメントの読み込み、読み取り、書き込み、さらにはExcelデータの変更に関する包括的な機能を提供します。 それは、式、画像、フォーマットなどをサポートします。

  1. ソリューションエクスプローラーでプロジェクトを右クリックし、NuGetパッケージの管理をナビゲート。
  2. NuGetパッケージマネージャーIronXL.Excelを検索。
  3. インストールをクリックしてプロジェクトに追加します。

ExcelをASP.NETで表示する方法、図3: NuGetパッケージマネージャーUIでIronXLパッケージを検索してインストールする NuGetパッケージマネージャUIでIronXLパッケージを検索してインストールする

パッケージマネージャーコンソールを使用して以下のコマンドでIronXLをインストールすることもできます。

PM > Install-Package IronXL.Excel

ExcelをASP.NETで表示する方法、図4: パッケージマネージャーコンソールからIronXLパッケージをインストールする パッケージマネージャーコンソールからIronXLパッケージをインストール

IronXLがインストールされたので、次のステップに進みましょう。

モデルを構築

ExcelModel

最初のステップはExcelデータのモデルを作成することです。 このExcelModelクラスは単一のExcelシートを表し、シート名とExcelシート内のデータを含みます。

namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelModel
    {
        public string SheetName { get; set; }
        
        // Data is a list of string arrays, each array represents a row in the sheet.
        public List<string[]> Data { get; set; }
    }
}
C#

このDataで定義されています。 SheetNameは各Excelシートの名前を保持するための単純な文字列です。 Dataは各Excelシートの行データを格納するための文字列配列のリストです。

ExcelViewModel

次に、ExcelViewModelを作成しましょう。 このモデルは、ファイル、メッセージ、およびファイル内のすべてのシートのデータを表すExcelModelのリストを含むラッパーです。

using Microsoft.AspNetCore.Http;
using System.Collections.Generic;

namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelViewModel
    {
        public IFormFile File { get; set; }  // For uploading Excel file
        public string Message { get; set; }  // Message for storing success/error messages
        public List<ExcelModel> ExcelData { get; set; }  // List to store data from all sheets
    }
}

このクラスはビューモデルとして使用されます。 ファイルのアップロード用のList<ExcelModel>を持っています。

5. ExcelControllerを作成してデータ抽出のためのExcelファイルを読み込む

次に、新しいExcelControllerを作成します。 ここが魔法が起こる場所です! ExcelファイルはIronXLのExcelViewModelに追加します。

using Excel_File_Viewer_IronXl.Models;
using IronXL;
using System.Collections.Generic;
using System.Web.Mvc;
using System;
using System.Linq;

public class ExcelController : Controller
{
    // GET: Excel
    public ActionResult Index()
    {
        var model = new ExcelViewModel();

        // Define the file path for the Excel file
        string filePath = Server.MapPath("~/App_Data/Test.xlsx"); 

        // List to store data for each sheet
        List<ExcelModel> data = new List<ExcelModel>();

        try
        {
            // Load workbook directly from a file path
            var workbook = WorkBook.Load(filePath);
            
            // Loop through all worksheets in the workbook
            foreach (var worksheet in workbook.WorkSheets)
            {
                // Add each worksheet's name and data to the data list
                data.Add(new ExcelModel
                {
                    SheetName = worksheet.Name,
                    Data = worksheet.Rows.Select(r => r.ToArray().Select(c => c.Value.ToString()).ToArray()).ToList()
                });
            }

            model.ExcelData = data;
            model.Message = "File processed successfully!";
        }
        catch (Exception ex)
        {
            model.Message = $"Error occurred while processing file: {ex.Message}";
        }

        return View(model);
    }
}
C#

ここで、ExcelViewModelを初期化し、次にIronXLを使用してWorkBookを読み込み、各ExcelModelを作成します。 そのExcelDataリストに追加されます。

次のExcelファイルのデータが読み込まれて表示されます:

ExcelをASP.NETで表示する方法、図5: サンプルExcelファイル サンプルExcelファイル

6. ビューを作成

Views/Excelディレクトリ内に、新しいHTMLファイルIndex.cshtmlを作成してExcelデータを表示します。 次に、Bootstrapのnav-tabsを使用してExcelファイル内の各シートを表します。各シートは個別のタブになり、そのタブの内容はシートのデータになります。

@model Excel_File_Viewer_IronXl.Models.ExcelViewModel

@{
    ViewBag.Title = "Index";
}

<h2>Excel File Viewer</h2>

@if (Model.ExcelData != null)
{
    <ul class="nav nav-tabs" id="myTab" role="tablist">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <li class="nav-item">
                <a class="nav-link @(i == 0 ? "active" : "")" id="tab-@i" data-toggle="tab" href="#content-@i" role="tab" aria-controls="content-@i" aria-selected="@(i == 0)">
                    @Model.ExcelData[i].SheetName
                </a>
            </li>
        }
    </ul>
    <div class="tab-content" id="myTabContent">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <div class="tab-pane fade @(i == 0 ? "show active" : "")" id="content-@i" role="tabpanel" aria-labelledby="tab-@i">
                <table class="table table-bordered">
                    @foreach (var row in Model.ExcelData[i].Data)
                    {
                        <tr>
                            @foreach (var cell in row)
                            {
                                <td>@cell</td>
                            }
                        </tr>
                    }
                </table>
            </div>
        }
    </div>
}

このコード例では、nav nav-tabsがExcelファイルの各シートを表すタブのリストを生成します。対応するタブの内容は、それぞれのシートのデータをテーブル形式で表示します。 いくつかの変更を加えることで、Excelファイルを手動で選択するための参照ボタンが追加されます。

すべてのステップを完了し、プロジェクトを正しく設定したら、実行する時が来ました。

すべてのステップを完了し、プロジェクトを正しく設定した後で、それを実行する時が来ました。 Excelファイルのシート名にちなんで名付けられたタブを持つウェブページが表示されるはずです。タブをクリックすると、それぞれのシートのデータが表形式で表示されます。

ExcelをASP.NETで表示する方法、図6: Excelビューアー Excelビューア

結論

IronXLを使用してASP.NET Excelビューアを作成しました! この強力なライブラリを使用すると、より効率的で管理しやすい方法でExcelファイルを扱うことができます。 IronXLのおかげで、.NET環境でExcelファイルを扱うことがかつてないほど簡単になりました。

IronXLは、無料トライアルを提供しており、前払いなしでその広大な機能を探索して理解することができます。それをテストし、ニーズに最適なソリューションであることがわかったら、ライセンスは$999から始まります。

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日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。