Blazor Read Excel File in C# Using IronXL (Example Tutorial)
はじめに
BlazorはMicrosoftによって作成されたオープンソース for .NET Webフレームワークです。 Blazorアプリケーションは、C#コードをブラウザ対応 for JavaScriptとHTMLにコンパイルすることで機能します。 このチュートリアルでは、BlazorサーバーサイドアプリケーションでIronXL C#ライブラリを使用してExcel文書/ワークシートを読み取るための最良で簡単な方法について知識を共有します。
BlazorでExcelファイルを読む方法
- Blazor で Excel ファイルを読み取るための C# ライブラリをインストールする
- Blazorアプリケーションにファイルアップロードボタンを作成する
- C#ライブラリを使用してディスクからExcelファイルを読む
- Blazorアプリを設定して、ウィンドウ上のテーブルに読み取ったデータを表示する
IronXLを使い始める
ステップ1 - Visual StudioでBlazorプロジェクトを作成
私は次のデータを含むXLSXファイルを用意しており、それをBlazorサーバーアプリで読み取り、開く予定です。
| XLSX Excelシートを入力 | Blazor Server Browserでの結果 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ![]() |
Visual Studio IDEでBlazorプロジェクトを作成することから始めます:
Blazor Server App プロジェクトタイプを選択してください。
ソリューションを変更せずに F5 キーでアプリケーションを実行してください。 アプリケーションの Fetch data タブに移動します。
私たちの目標は、アップロードボタンを使ってExcelファイルをBlazorアプリに読み込み、このページに表示することです。
ステップ2 - IronXLをソリューションに追加
IronXL: .NET Excelライブラリ (インストール手順):
IronXLは、Microsoft Excel内のスプレッドシートをオブジェクトのように扱うことを可能にする.NETライブラリで、開発者がデータストリームを操作するためにC#と.NET Frameworkの全力を使用できるようにします。 開発者として、Excel文書/ワークシートからアプリケーションやデータベースへの行のセルおよび列情報を取得するための素晴らしい方法を求めています。
IronXLを使用すると、ワークシートからセル値、セルの内容、イメージ、参照、フォーマットなどの様々な情報を取得できます。 IronXLは多くの点でNPOIよりも優れています。 IronXLはより多くの機能を提供し、複雑なロジックを簡単に書くことができます。 また、より好ましいライセンスと、より有能なサポートチームを持っています。
IronXLは.NET(8、7、及び6)の最新バージョンと.NET Core Framework 4.6.2+をすべてサポートしています。
以下の方法の1つを使用して、IronXLをソリューションに追加し、ソリューションをビルドします。
オプション2A - NuGetパッケージマネージャを使用
オプション2B - csprojファイルにPackageReferenceを追加
IronXL をプロジェクトに直接追加するには、ソリューションの .csproj ファイルの任意の <ItemGroup> に次の行を追加します。
<PackageReference Include="IronXL.Excel" Version="*" />
Visual Studioでこのように示されています:
ステップ3 - ファイルアップロードと表示のコーディング
Visual Studioのソリューションビューフォルダーで Pages/ フォルダーに移動し、FetchData.razor ファイルを見つけます。Blazor Server App Template 付属のためこのrazorファイルを使用しますが、他のrazorファイルを使用することもできます。
ファイルの内容を次のコードに置き換えます:
@using IronXL;
@using System.Data;
@page "/fetchdata"
<PageTitle>Excel File Viewer</PageTitle>
<h1>Open Excel File to View</h1>
<InputFile OnChange="@OpenExcelFileFromDisk" />
<table>
<thead>
<tr>
@foreach (DataColumn column in displayDataTable.Columns)
{
<th>
@column.ColumnName
</th>
}
</tr>
</thead>
<tbody>
@foreach (DataRow row in displayDataTable.Rows)
{
<tr>
@foreach (DataColumn column in displayDataTable.Columns)
{
<td>
@row[column.ColumnName].ToString()
</td>
}
</tr>
}
</tbody>
</table>
@code {
// Create a DataTable instance
private DataTable displayDataTable = new DataTable();
// This method is triggered when a file is uploaded
async Task OpenExcelFileFromDisk(InputFileChangeEventArgs e)
{
IronXL.License.LicenseKey = "PASTE TRIAL OR LICENSE KEY";
// Load the uploaded file into a MemoryStream
MemoryStream ms = new MemoryStream();
await e.File.OpenReadStream().CopyToAsync(ms);
ms.Position = 0;
// Create an IronXL workbook from the MemoryStream
WorkBook loadedWorkBook = WorkBook.FromStream(ms);
WorkSheet loadedWorkSheet = loadedWorkBook.DefaultWorkSheet; // Or use .GetWorkSheet()
// Add header Columns to the DataTable
RangeRow headerRow = loadedWorkSheet.GetRow(0);
for (int col = 0; col < loadedWorkSheet.ColumnCount; col++)
{
displayDataTable.Columns.Add(headerRow.ElementAt(col).ToString());
}
// Populate the DataTable with data from the Excel sheet
for (int row = 1; row < loadedWorkSheet.RowCount; row++)
{
IEnumerable<string> excelRow = loadedWorkSheet.GetRow(row).ToArray().Select(c => c.ToString());
displayDataTable.Rows.Add(excelRow.ToArray());
}
}
}
まとめ
<InputFile> コンポーネントは、このウェブページ上でファイルをアップロードすることを可能にします。 呼び出されたイベントコールバックを OpenExcelFileFromDisk を呼び出すように設定し、これは @code ブロック(下部)での非同期メソッドです。 HTMLはタブにExcelシートをテーブルとしてレンダリングします。
IronXL.Excelは、さまざまなスプレッドシート形式を読み取るための独立した.NETソフトウェアライブラリです。 Microsoft Excelがインストールされている必要はなく、Interopに依存していません。
さらに読む
よくある質問
BlazorサーバーサイドアプリケーションでExcelファイルを読む方法は?
BlazorサーバーサイドアプリケーションでExcelファイルを読むには、IronXL C#ライブラリを使用することができます。NuGetパッケージマネージャーを使用してライブラリをインストールし、その後Excelデータを読み取り表示するコードを実装することで、Blazorプロジェクトと簡単に統合できます。
BlazorプロジェクトでExcelファイルを読むための手順は何ですか?
まず、NuGetパッケージマネージャー経由でIronXLをインストールします。次に、Blazorアプリケーションでファイルアップロードボタンを作成します。アップロードされたExcelファイルを読むためにIronXLを使用し、Razorコンポーネントを使用してデータをテーブル形式で表示するようにアプリを設定します。
ExcelをインストールせずにBlazorアプリケーションでExcelファイルを読むことは可能ですか?
はい、IronXLを使用すると、システムにMicrosoft ExcelをインストールせずにBlazorアプリケーションでExcelファイルの読み取りや操作が可能です。
BlazorアプリケーションでExcelデータを表示する方法は?
IronXLを使用してExcelファイルを読み取った後、Razorコンポーネントを使用してBlazorアプリケーションでデータをテーブル形式で表示し、ユーザーインターフェースを向上させることができます。
IronXLは他のExcelライブラリに対してどのような利点がありますか?
IronXLは広範な機能性、複雑なロジックの取り扱いの容易さ、優れたライセンス条件、および専用サポートを提供し、NPOIなどの代替手段よりも好まれる選択肢となっています。
IronXLがExcel操作に対応している.NETのバージョンはどれですか?
IronXLは最新 for .NETバージョン、8、7、および6、さらに.NET Core Framework 4.6.2+をサポートしており、現代のアプリケーションとの幅広い互換性を確保しています。
ExcelライブラリをBlazorプロジェクトに統合する方法は?
NuGetパッケージマネージャーを使用してdotnet add package IronXL.Excelのコマンドを使用するか、.csprojファイルにPackageReferenceを追加することで、IronXLのようなExcelライブラリをBlazorプロジェクトに統合することができます。
BlazorアプリがExcelファイルの読み取りに失敗した場合、どのようなトラブルシューティングの手順を取ることができますか?
IronXLがNuGetを通じて正しくインストールされていること、およびBlazorアプリがディスクからファイルを読むための必要な権限を持っていることを確認してください。Excelファイルのパスが正しく、IronXLがサポートするファイル形式であることを再度確認してください。
Can I get detailed information from an Excel worksheet using IronXL?
Yes, with IronXL, you can retrieve various types of information from an Excel worksheet such as cell values, images, formatting, and more.
Where can I find the API Reference for IronXL?
You can explore the API Reference for IronXL by visiting their official documentation site, which provides detailed information on all features, namespaces, methods, and classes.

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