IronXL Docker ロゴ Blazor Excelファイルを読む Blazor Read Excel File in C# Using IronXL (Example Tutorial) Curtis Chau 更新日:6月 10, 2025 Download IronXL NuGet Download テキストの検索と置換 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English はじめに BlazorはMicrosoftによって作成されたオープンソースの.NET Webフレームワークです。 Blazorアプリケーションは、C#コードをブラウザ対応のJavaScriptとHTMLにコンパイルすることで機能します。 このチュートリアルでは、BlazorサーバーサイドアプリケーションでIronXL C#ライブラリを使用してExcel文書/ワークシートを読み取るための最良で簡単な方法について知識を共有します。 class="hsg-featured-snippet"> BlazorでExcelファイルを読み取る方法 BlazorでExcelファイルを読み取るためのC#ライブラリをインストール Blazorアプリケーションにファイルアップロードボタンを作成 ディスクからExcelファイルを読み取るためのC#ライブラリを使用 読み取ったデータをウィンドウのテーブルに表示するようにBlazorアプリを設定 IronXLを始めましょう 今日あなたのプロジェクトでIronXLを無料トライアルで使用開始。 最初のステップ: 無料で始める ステップ1 - Visual StudioでBlazorプロジェクトを作成 私は次のデータを含むXLSXファイルを用意しており、それをBlazorサーバーアプリで読み取り、開く予定です。 入力XLSX Excelシート Blazorサーバーブラウザでの結果 名 姓 ID John Applesmith 1 Richard Smith 2 Sherry Robins 3 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パッケージマネージャを使用 Install-Package IronXL.Excel オプション2B - csprojファイルにPackageReferenceを追加 IronXLを、ソリューションの.csprojファイル内の任意の<ItemGroup>に次の行を追加することでプロジェクトに直接追加できます: <PackageReference Include="IronXL.Excel" Version="*" /> <PackageReference Include="IronXL.Excel" Version="*" /> XML Visual Studioでこのように示されています: ステップ3 - ファイルアップロードと表示のコーディング Visual StudioソリューションビューでPages/フォルダに移動し、FetchData.razorファイルを見つけます。他のrazorファイルを使用してもよいですが、Blazorサーバーアプリのテンプレートにはこれが含まれているため、これを使用します。 ファイルの内容を次のコードに置き換えます: @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()); } } } @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()); } } } Private IronXL As [using] Private System As [using] 'INSTANT VB TODO TASK: Local functions are not converted by Instant VB: '@page "/fetchdata" (Of PageTitle) Excel File Viewer</PageTitle> (Of h1) Open Excel File @to View</h1> <InputFile OnChange="@OpenExcelFileFromDisk" /> (Of table) (Of thead) (Of tr) @foreach(DataColumn column in displayDataTable.Columns) ' { ' <th> @column.ColumnName </th> ' } 'INSTANT VB TODO TASK: Local functions are not converted by Instant VB: ' </tr> </thead> (Of tbody) @foreach(DataRow row in displayDataTable.Rows) ' { ' <tr> @foreach(DataColumn column in displayDataTable.Columns) ' { ' <td> @row[column.ColumnName].ToString() </td> ' } ' </tr> ' } 'INSTANT VB TODO TASK: Local functions are not converted by Instant VB: ' </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()); ' } ' } '} $vbLabelText $csharpLabel まとめ <InputFile>コンポーネントは、このウェブページでファイルをアップロードすることを可能にします。 イベントコールバックがOpenExcelFileFromDiskを呼び出すように設定されており、それは@codeブロックの底部にある非同期メソッドです。 HTMLはタブにExcelシートをテーブルとしてレンダリングします。 IronXL.Excelは、さまざまなスプレッドシート形式を読み取るための独立した.NETソフトウェアライブラリです。 Microsoft Excelがインストールされている必要はなく、Interopに依存していません。 class="tutorial-segment-title">さらなるリーディング class="tutorial-section"> class="row"> class="col-sm-4"> class="tutorial-image"> さらなるリーディング" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/documentation.svg" loading="lazy"> class="col-sm-8"> APIリファレンスを表示 IronXLのAPIリファレンスを探索し、IronXLのすべての機能、名前空間、クラス、メソッドフィールド、列挙型の詳細を示します。 APIリファレンスを表示 ソフトウェア製品をダウンロード よくある質問 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は最新の.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がサポートするファイル形式であることを再度確認してください。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はいいですか? Nuget ダウンロード 1,686,155 | バージョン: 2025.11 ただ今リリースされました 試用ライセンスキーがメールで送信されました。 総ダウンロード数: 1,686,155 ライセンスを見る