
ASP.NETでExcelを表示する方法
この包括的なチュートリアルでは、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プロジェクトを作成しましょう。
- Visual Studioを開きます。
- ファイル > 新規 > プロジェクトをクリック。
- 新しいプロジェクトウィンドウで、**ASP.NET Web アプリケーション (.NET Framework)**テンプレートを選択します。
Visual Studioで新しいASP.NET Webアプリケーションを作成
- プロジェクトにExcelViewerと名付け、プロジェクトの位置を選択して作成ボタンをクリックします。
プロジェクトを設定
この記事では、このASP.NET MVCアプリケーションでExcelビューア機能を実装することに焦点を当てます。
プロジェクトにIronXLを追加
Excelファイル形式(.xls、.xlsx、.csvなど)を扱うために、IronXLはExcelドキュメントの読み込み、読み取り、書き込み、さらにはExcelデータの変更に関する包括的な機能を提供します。 それは、式、画像、フォーマットなどをサポートします。
- ソリューションエクスプローラーでプロジェクトを右クリックし、NuGetパッケージの管理をナビゲート。
- NuGetパッケージマネージャーでIronXL.Excelを検索。
- インストールをクリックしてプロジェクトに追加します。
NuGetパッケージマネージャUIでIronXLパッケージを検索してインストールする
パッケージマネージャーコンソールを使用して以下のコマンドで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; }
}
}
この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
}
}Imports Microsoft.AspNetCore.Http
Imports System.Collections.Generic
Namespace Excel_File_Viewer_IronXl.Models
Public Class ExcelViewModel
Public Property File As IFormFile ' For uploading Excel file
Public Property Message As String ' Message for storing success/error messages
Public Property ExcelData As List(Of ExcelModel) ' List to store data from all sheets
End Class
End Namespaceこのクラスはビューモデルとして使用されます。 ファイルのアップロード用の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);
}
}
ここで、ExcelViewModelを初期化し、次にIronXLを使用してWorkBookを読み込み、各ExcelModelを作成します。 そのExcelDataリストに追加されます。
次の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>
}netこのコード例では、nav nav-tabsがExcelファイルの各シートを表すタブのリストを生成します。対応するタブの内容は、それぞれのシートのデータをテーブル形式で表示します。 いくつかの変更を加えることで、Excelファイルを手動で選択するための参照ボタンが追加されます。
すべてのステップを完了し、プロジェクトを正しく設定したら、実行する時が来ました。
すべてのステップを完了し、プロジェクトを正しく設定した後で、それを実行する時が来ました。 Excelファイルのシート名にちなんで名付けられたタブを持つウェブページが表示されるはずです。タブをクリックすると、それぞれのシートのデータが表形式で表示されます。
Excelビューア
結論
IronXLを使用してASP.NET Excelビューアを作成しました! この強力なライブラリを使用すると、より効率的で管理しやすい方法でExcelファイルを扱うことができます。 IronXLのおかげで、.NET環境でExcelファイルを扱うことがかつてないほど簡単になりました。
IronXLは、無料トライアルを提供しており、前払いなしでその広大な機能を探索して理解することができます。それをテストし、ニーズに最適なソリューションであることがわかったら、ライセンスは$999から始まります。

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



