IRONXLの使用 ASP.NET CoreでExcelファイルを開く方法 Curtis Chau 更新日:8月 31, 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 このチュートリアルでは、ASP.NET CoreアプリケーションでIronXLライブラリを使用してExcelファイルを開く方法をご紹介します。 Excelファイルを読み取る基本的な手順をカバーし、それらからデータを表示し、修正したデータをファイルに戻して保存する方法を説明します。 IronXLとは? IronXL は、Microsoft ExcelやOffice Interopの依存性を必要とせずにExcelドキュメントを操作する機能を提供する.NETのExcelライブラリです。 これは、.NET Frameworkと.NET Coreの両方をサポートし、数行のコードでExcelファイルを作成、操作、および読み取ることができます。 Excelファイルの読み取りに関する詳細なチュートリアルについては、このExcelチュートリアルをご参照ください。 IronXL library can read and write Excel documents, extract data from them, manipulate the data, and even create new Excel files from scratch. IronXLは、.XLS形式だけでなく、Microsoftがスプレッドシートを表現するために開発したXMLベースのファイル形式である.XLSXに対応しています。 前提条件 コードに入る前に、以下を確認してください: .NET Core 3.1以上がインストールされていること。 .NET開発に適したIDE (Microsoft Visual Studioが推奨されます)。 ASP.NET CoreとRazor Pagesの基本的な理解。 新しい.NET Coreプロジェクトを作成する Microsoft Visual Studioを開き、「新しいプロジェクトの作成」を選択します。 プロジェクトテンプレートのリストから「ASP.NET Core Web App」を選んで「次へ」をクリックします。 プロジェクトに名前を付けます。たとえば、「Open_ExcelFile.NET_Core」を入力し、場所を選んで「次へ」をクリックします。 ターゲットフレームワークとして「.NET Core」を選択し、バージョンとして「ASP.NET Core 3.1以上」を選択します。 「プロジェクトテンプレート」セクションで「Webアプリケーション」を選択し「作成」をクリックします。 IronXLパッケージをインストールする 次のステップでは、新しく作成したプロジェクトにIronXLパッケージをインストールします: ソリューションエクスプローラーのプロジェクトを右クリックし、「NuGetパッケージの管理」を選択します。 「参照」タブで「IronXL」を検索し、IronXL.Excelパッケージの「インストール」をクリックします。 NuGetパッケージマネージャUIでIronXLパッケージを検索してインストールする パッケージのインストールを待ちます。 これでASP.NET Coreプロジェクトが設定され、IronXLライブラリがインストールされ使用可能になりました。 Razorページを作成する 次に、Excelファイルを開くコードを書くためのRazorページを作成します。 ソリューションエクスプローラーの「Pages」フォルダを右クリックし、「追加」>「Razorページ」を選択します。 ページ名に「ExcelOpener」と入力し「追加」をクリックします。 新しいRazorページを作成する これにより、ExcelOpener.cshtml と ExcelOpener.cshtml.cs の2つのファイルが作成されます。 ExcelOpener.cshtml ファイルにはページのHTMLマークアップが含まれ、ExcelOpener.cshtml.cs ファイルにはページのC#コードビハインドが含まれます。 Excelファイルを読み取る それでは、コードに入っていきます。 提供されたExcelOpenerModelクラスはRazorページモデルです。 このクラスには、Excelファイルから読み取られたデータを格納するためのList<List<string>>型のプロパティDataがあります。 public List<List<string>> Data { get; set; } public ExcelOpenerModel() { Data = new List<List<string>>(); } public List<List<string>> Data { get; set; } public ExcelOpenerModel() { Data = new List<List<string>>(); } Public Property Data() As List(Of List(Of String)) 'INSTANT VB WARNING: The following constructor is declared outside of its associated class: 'ORIGINAL LINE: public ExcelOpenerModel() Public Sub New() Data = New List(Of List(Of String))() End Sub $vbLabelText $csharpLabel OnGetメソッドで、IronXLを使用してExcelファイルをロードし、デフォルトのワークシート(ワークブック内の最初のシート)からデータを読み取ります。 各行はList<string>として表現され、これらのリストすべてがDataプロパティに追加されます。 public void OnGet() { try { Data = new List<List<string>>(); // Load your Excel file var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx"); // Select your Worksheet WorkSheet sheet = workbook.DefaultWorkSheet; for (int i = 0; i < sheet.RowCount; i++) { var row = new List<string>(); for (int j = 0; j < sheet.ColumnCount; j++) { row.Add(sheet.GetCellAt(i, j).Value.ToString()); } Data.Add(row); } } catch (Exception ex) { // Handle exceptions here Console.WriteLine(ex.Message); } } public void OnGet() { try { Data = new List<List<string>>(); // Load your Excel file var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx"); // Select your Worksheet WorkSheet sheet = workbook.DefaultWorkSheet; for (int i = 0; i < sheet.RowCount; i++) { var row = new List<string>(); for (int j = 0; j < sheet.ColumnCount; j++) { row.Add(sheet.GetCellAt(i, j).Value.ToString()); } Data.Add(row); } } catch (Exception ex) { // Handle exceptions here Console.WriteLine(ex.Message); } } Public Sub OnGet() Try Data = New List(Of List(Of String))() ' Load your Excel file Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx") ' Select your Worksheet Dim sheet As WorkSheet = workbook.DefaultWorkSheet For i As Integer = 0 To sheet.RowCount - 1 Dim row = New List(Of String)() For j As Integer = 0 To sheet.ColumnCount - 1 row.Add(sheet.GetCellAt(i, j).Value.ToString()) Next j Data.Add(row) Next i Catch ex As Exception ' Handle exceptions here Console.WriteLine(ex.Message) End Try End Sub $vbLabelText $csharpLabel 主要メソッドの説明 WorkBook.Load(filepath): このメソッドは指定されたファイルパスからExcelドキュメントをロードします。 Excelシートを読み込んで読み取るのに役立ちます。 workbook.DefaultWorkSheet: このプロパティは、Excelスプレッドシートのデフォルト(最初の)Excelワークシートを取得します。 sheet.GetCellAt(i, j).Value.ToString(): 指定された行と列のインデックス上のセルを取得し、その値を文字列に変換します。 これは、行と列のインデックスに基づいてExcelファイル内の特定のセルや範囲にアクセスするためのインデックスメソッドの一例です。 短い説明 ExcelOpener.cshtml.cs ファイルでは、ExcelOpenerModelという名前のクラスがRazorページモデルを表します。 このクラスにはDataという名前のList<List<string>>型のプロパティが含まれており、Excelファイルからのデータを保持します。 OnGetメソッドは、ページが要求されたときに呼び出され、Excelファイルからのデータの読み取りを担当します。IronXLを使用してExcelファイルをロードし、デフォルトのワークシートを選択し、行や列を反復してDataプロパティを埋めます。 Excelファイルを書き込む ExcelOpenerModelクラスのOnPostメソッドは、Excelファイルへの修正を保存するために使用されます。まずExcelファイルをロードし、デフォルトのワークシートを取得します。 次に、Dataからの値をワークシートのセルに書き込み、ワークブックを新しいファイルに保存します。 public void OnPost() { try { // Load your Excel file var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx"); // Select your Worksheet var sheet = workbook.DefaultWorkSheet; for (int i = 0; i < Data.Count; i++) { for (int j = 0; j < Data[i].Count; j++) { sheet.SetCellValue(i, j, Data[i][j]); } } // Save the Excel file var filename = @"C:\ModifiedData.xlsx"; workbook.SaveAs(filename); } catch (Exception ex) { // Handle exceptions here Console.WriteLine(ex.Message); } } public void OnPost() { try { // Load your Excel file var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx"); // Select your Worksheet var sheet = workbook.DefaultWorkSheet; for (int i = 0; i < Data.Count; i++) { for (int j = 0; j < Data[i].Count; j++) { sheet.SetCellValue(i, j, Data[i][j]); } } // Save the Excel file var filename = @"C:\ModifiedData.xlsx"; workbook.SaveAs(filename); } catch (Exception ex) { // Handle exceptions here Console.WriteLine(ex.Message); } } Public Sub OnPost() Try ' Load your Excel file Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx") ' Select your Worksheet Dim sheet = workbook.DefaultWorkSheet For i As Integer = 0 To Data.Count - 1 Dim j As Integer = 0 Do While j < Data(i).Count sheet.SetCellValue(i, j, Data(i)(j)) j += 1 Loop Next i ' Save the Excel file Dim filename = "C:\ModifiedData.xlsx" workbook.SaveAs(filename) Catch ex As Exception ' Handle exceptions here Console.WriteLine(ex.Message) End Try End Sub $vbLabelText $csharpLabel 主要メソッドの説明 sheet.SetCellValue(i, j, Data[i][j]): このメソッドは、指定された行と列のインデックス上のセルの値を設定します。 workbook.SaveAs(filepath): このメソッドは、指定されたファイルパスにExcelワークブックを保存します。 短い説明 OnPostメソッドは、フォームの送信時に呼び出され、変更されたデータをExcelファイルに保存します。Excelファイルをロードし、デフォルトのワークシートを選択し、フォームから受け取った変更されたデータに基づいてセルの値を更新します。 Excelデータ編集用HTMLフォーム ExcelOpener.cshtml では、Excelファイルからのデータを表示および編集するためのフォームが定義されています。各セルの値はテキスト入力フィールドに表示されます。 編集後、「保存」ボタンをクリックするとフォームが送信され、OnPostメソッドがトリガーされ、変更がExcelファイルに保存されます。 @page @model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel <form method="post"> <table class="table table-bordered table-striped"> <!-- Bootstrap classes for tables --> @for (int i = 0; i < Model.Data.Count; i++) { <tr> @for (int j = 0; j < Model.Data[i].Count; j++) { <td> <input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> <!-- Bootstrap class for form controls --> </td> } </tr> } </table> <input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons --> </form> @page @model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel <form method="post"> <table class="table table-bordered table-striped"> <!-- Bootstrap classes for tables --> @for (int i = 0; i < Model.Data.Count; i++) { <tr> @for (int j = 0; j < Model.Data[i].Count; j++) { <td> <input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> <!-- Bootstrap class for form controls --> </td> } </tr> } </table> <input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons --> </form> HTML ページへのナビゲーション _Layout.cshtmlでは、ページへのリンクがナビゲーションメニューに追加されています。 このリンクをクリックすることで、Excelを開くページに移動します。 <li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a> </li> <li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a> </li> HTML アプリケーションの実行と出力の説明 Visual Studioの「ビルド」ボタンをクリックするか、Ctrl + Shift + Bショートカットを使用してアプリケーションをビルドします。 Visual Studioで「開始」ボタンをクリックするか、F5を押してアプリケーションを実行します。 アプリケーションが実行されたら、ナビゲーションバーの対応するリンクをクリックして「ExcelOpener」ページに移動します。 ページはExcelからのデータを表形式で表示します。 テーブル内のデータを変更し、「保存」ボタンをクリックすることで、変更をExcelファイルに保存できます。 WebアプリケーションでExcelデータを表示 このチュートリアルでは、ASP.NET CoreアプリケーションでIronXLを使用してExcelファイルを開く方法を説明しました。 IronXLは、Excelファイルを読み取って操作するためのシンプルで便利な方法を提供します。 IronXLのドキュメントを参照して、より高度な機能と機能性を探求できます。 IronXLは無料トライアルを提供しており、その能力を評価することができます。 プロジェクトに役立つと感じた場合は、$799からライセンスを購入できます。 よくある質問 ASP.NET CoreアプリケーションでExcelファイルを開くにはどうすればよいですか? IronXLライブラリを使用してASP.NET CoreアプリケーションでExcelファイルを開くことができます。最初にNuGetからIronXLをインストールし、WorkBook.Loadを使用してExcelファイルをロードします。シートを選択して行と列を反復処理することでデータにアクセスできます。 Excel操作でIronXLをOffice Interopよりも使用する利点は何ですか? IronXLはMicrosoft ExcelやOffice Interopの依存関係を必要とせず、サーバー環境でMicrosoft Officeをインストールすることが難しい場合に理想的です。.NET Frameworkと.NET Coreの両方をサポートし、.XLSおよび.XLSX形式を扱えます。 Razor Pagesを使用してWebアプリケーション内でExcelデータを表示するにはどうすればよいですか? ExcelデータをWebアプリケーションで表示するには、IronXLを使用してExcelデータをロードし読み取るRazorページを作成します。HTMLフォームを使用して各セルのデータをテキスト入力フィールドにレンダリングし、ユーザーがWebインターフェース内でデータを表示および編集できるようにします。 Excel操作のためのASP.NET Coreプロジェクトを設定するために必要なものは何ですか? Excel操作のためのASP.NET Coreプロジェクトを設定するには、.NET Core 3.1以上、Microsoft Visual StudioのようなIDE、およびASP.NET CoreとRazor Pagesの基本的な理解が必要です。Excelファイルを操作するためにNuGetからIronXLパッケージをインストールします。 ASP.NET CoreでExcelファイルを編集し変更を保存するにはどうすればよいですか? RazorページにHTMLフォームを使用してユーザーがデータを変更できるようにすることで、Excelファイルを編集し変更を保存できます。sheet.SetCellValueのようなIronXLメソッドを使用してデータを更新し、workbook.SaveAsで変更されたExcelファイルを保存します。 Excelファイル操作のためのRazorページの設定に関わるステップは何ですか? Razorページを設定するには、ASP.NET Coreプロジェクト内に新しいRazorページを作成します。Razorページを使用してIronXLでExcelデータを読み込み、Webフォームで表示し、フォーム送信を処理してExcelファイルに変更を保存します。 ASP.NET CoreでExcelファイルが読み込めない場合のトラブルシューティング方法は? Excelファイルが読み込めない場合は、ファイルパスがアプリケーションから正しくアクセスできることを確認してください。IronXLが正しくインストールされていること、ファイル形式がサポートされていることを確認します。問題を示す可能性のある例外やエラーメッセージをチェックしてください。 IronXLライブラリを購入する前に試すことはできますか? はい、IronXLはその機能を評価するための無料のトライアルバージョンを提供しています。ライセンスを購入する前に、それがニーズに合うかを確認するためにこのトライアルを利用できます。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 10月 27, 2025 C#でExcelピボットテーブルを作成する方法 この明確なステップバイステップガイドを使用して、C# InteropとIronXLを使用してExcelでピボットテーブルを作成する方法を学びましょう。 詳しく読む 公開日 10月 27, 2025 C#で列ヘッダー付きのDataGridViewをExcelにエクスポートする方法 IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む 公開日 10月 27, 2025 .NET Core CSVリーダーとしてのIronXLの使用方法 実用的な例とともにIronXLを.NET Core CSVリーダーとして効果的に使用する方法を学びましょう。 詳しく読む IronXLを使用してExcelファイルを操作する方法:.NET Excelライブラリデータを失わずにExcelでセ...
公開日 10月 27, 2025 C#でExcelピボットテーブルを作成する方法 この明確なステップバイステップガイドを使用して、C# InteropとIronXLを使用してExcelでピボットテーブルを作成する方法を学びましょう。 詳しく読む
公開日 10月 27, 2025 C#で列ヘッダー付きのDataGridViewをExcelにエクスポートする方法 IronXLライブラリを使用したステップバイステップのC#チュートリアルで、列ヘッダーを保持しながらDataGridViewデータをExcelにエクスポートする方法を学びましょう。 詳しく読む
公開日 10月 27, 2025 .NET Core CSVリーダーとしてのIronXLの使用方法 実用的な例とともにIronXLを.NET Core CSVリーダーとして効果的に使用する方法を学びましょう。 詳しく読む