使用 IRONXL 如何在 ASP .NET Core 中開啟 Excel 文件 Jordi Bardia 更新:8月 31, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 本教學將示範如何在 ASP.NET Core 應用程式中使用 IronXL 庫開啟 Excel 檔案。 它將涵蓋讀取 Excel 文件的基本步驟,然後顯示其中的數據,並將修改後的數據保存回文件。 IronXL是什麼? IronXL是一個 .NET Excel 函式庫,它提供處理 Excel 文件的功能,而無需 Microsoft Excel 或 Office Interop 相依性。 它同時支援 .NET Framework 和 .NET Core,只需幾行程式碼即可編寫、操作和讀取 Excel 檔案。 有關讀取 Excel 檔案的詳細教學課程,請參閱此Excel 教學。 IronXL 庫可以讀取和寫入 Excel 文檔,從中提取數據,處理數據,甚至可以從頭開始建立新的 Excel 文件。 IronXL 不僅支援 .XLS 格式,還相容於 .XLSX 格式,這是一種由微軟開發的基於 XML 的檔案格式,用於表示電子表格。 先決條件 在深入研究程式碼之前,請確保您已具備以下條件: 已安裝 .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 或更高版本"作為版本。 在"專案範本"部分,選擇"網頁應用程式",然後按一下"建立"。 安裝 IronXL 軟體包 下一步是將 IronXL 軟體包安裝到這個新建的項目: 在解決方案資源管理器中以滑鼠右鍵按一下項目,然後選擇"管理 NuGet 套件"。 在"瀏覽"標籤中,搜尋"IronXL",然後按一下"安裝" IronXL.Excel程式包。 如何在 ASP.NET Core 中開啟 Excel 檔案?圖 1:在 NuGet 套件管理器 UI 中搜尋並安裝 IronXL 套件 在 NuGet 套件管理器 UI 中搜尋並安裝 IronXL 套件。 等待軟體包安裝完成。 您的 ASP.NET Core 專案現已設定完畢,IronXL 程式庫也已安裝並可使用。 建立 Razor 頁面 現在,讓我們建立一個 Razor 頁面來編寫開啟 Excel 檔案的程式碼。 在解決方案資源管理器中以滑鼠右鍵按一下"Pages"資料夾,然後選擇"新增">"Razor Page"。 輸入"ExcelOpener"作為頁面名稱,然後按一下"新增"。 如何在 ASP.NET Core 中開啟 Excel 文件,圖 2:建立一個新的 Razor 頁面 建立一個新的 Razor 頁面 這將建立兩個檔案: ExcelOpener.cshtml和ExcelOpener.cshtml.cs 。 ExcelOpener.cshtml檔案包含頁面的 HTML 標記, ExcelOpener.cshtml.cs檔案包含頁面的 C# 程式碼隱藏。 讀取 Excel 文件 讓我們深入研究程式碼。 提供的ExcelOpenerModel類別是一個 Razor 頁面模型。 這個類別有一個List <List<string> >屬性Data ,將用於儲存從 Excel 檔案讀取的資料。 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 Page 模型。 它包含一個名為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快捷鍵來產生應用程式。 按 F5 鍵或在 Visual Studio 中按一下"開始"按鈕執行應用程式。 應用程式運行後,點擊導航欄中的相應鏈接,導航至"ExcelOpener"頁面。 頁面將以表格形式顯示來自 Excel 的資料。 您可以修改表格中的數據,然後按一下"儲存"按鈕將變更儲存回 Excel 檔案。 如何在 ASP.NET Core 中開啟 Excel 文件,圖 3:在 Web 應用程式中顯示 Excel 數據 在 Web 應用程式中顯示 Excel 數據 本教學課程示範如何在 ASP.NET Core 應用程式中使用 IronXL 開啟 Excel 檔案。 IronXL 提供了一種簡單且方便的方式來讀取和操作 Excel 檔案。 您可以查閱 IronXL 文件以了解更多進階特性和功能。 IronXL 提供免費試用,方便您評估其功能。 如果您覺得它對您的專案有用,您可以購買許可證,價格從$799起。 常見問題解答 如何在 ASP.NET Core 應用程式中開啟 Excel 檔案? 您可以使用 IronXL library 在 ASP.NET Core 應用程式中開啟 Excel 檔案。首先,透過 NuGet 安裝 IronXL 套件,然後使用 WorkBook.Load 載入您的 Excel 檔案。您可以透過選擇工作表並遍歷各行和列來存取資料。 與 Office Interop 相比,使用 IronXL 進行 Excel 操作有哪些優點? IronXL.Excel 可讓您在不需要 Microsoft Excel 或 Office Interop 相依性的情況下處理 Excel 檔案,因此非常適用於無法安裝 Microsoft Office 的伺服器環境。它同時支援 .NET Framework 與 .NET Core,並能處理 .XLS 與 .XLSX 兩種格式。 如何使用 Razor Pages 在 Web 應用程式中顯示 Excel 資料? 要在 Web 應用程式中顯示 Excel 資料,您可以建立一個 Razor Page,使用 IronXL 載入並讀取 Excel 資料。使用 HTML 表格將每個儲存格的資料渲染為文字輸入欄位,讓使用者可以在網頁介面中檢視和編輯資料。 設定 Excel 作業的 ASP.NET Core 專案需要哪些條件? 若要設定 Excel 作業的 ASP.NET Core 專案,您需要具備 .NET Core 3.1 或更高版本、Microsoft Visual Studio 等 IDE,以及對 ASP.NET Core 和 Razor Pages 的基本瞭解。從 NuGet 安裝 IronXL 套件,即可開始處理 Excel 檔案。 如何在 ASP.NET Core 中編輯並儲存 Excel 檔案的變更? 您可以透過 Razor Page 中的 HTML 表單,讓使用者修改資料,從而編輯並儲存 Excel 檔案的變更。使用 IronXL 方法,如 sheet.SetCellValue 來更新資料,以及 workbook.SaveAs 來儲存修改過的 Excel 檔案。 設定 Excel 檔案操作的 Razor 頁面有哪些步驟? 設定 Razor 頁面包括在您的 ASP.NET Core 專案中建立新的 Razor 頁面。使用 Razor Page 載入 IronXL.Excel 資料,將資料顯示在網頁表單中,並處理表單提交以更新和儲存變更回 Excel 檔案。 如果 Excel 檔案無法在 ASP.NET Core 中載入,該如何排除故障? 如果您的 Excel 檔案無法載入,請確認檔案路徑正確,並可由應用程式存取。確認 IronXL 已正確安裝,且支援檔案格式。檢查任何可能顯示問題所在的例外或錯誤訊息。 在購買之前,我可以試用 IronXL 函式庫嗎? 是的,IronXL 提供免費試用版,讓您可以評估其功能。在決定購買授權之前,您可以使用此試用版來確保它符合您的需求。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多 發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多 如何使用 IronXL 處理 Excel 文件:一個 .NET Excel 函式庫如何在 Excel 中合併單元格...
發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多
發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多
發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多