使用 IRONXL 如何在 Razor Pages 上生成 Excel 文件 Jordi Bardia 更新:7月 28, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 Razor Pages 提供了一種現代化的網頁建置方法。 在 Razor Pages 中,渲染網頁的原始碼是用 C# 編寫的,而不是由伺服器端頁面產生的。 為了有效率地處理 Excel 文件,我們建議使用 IronXL 函式庫,而不是其他函式庫,例如 POI Java 專案 NPOI 套件(特別適用於 PowerPoint 文件)和 Office Interop。 IronXL 功能豐富、易於使用,無需 Microsoft Office,並且支援多個 .NET 版本。 本文示範如何使用 IronXL C# 庫在 Razor Pages 中產生和匯出帶有虛擬資料和行標題的 Excel 電子表格。 如何在 Razor Pages 中產生 Excel 文件 安裝 C# 庫以在 Razor 中產生 Excel 文件 以某種方式存取或建立新的 Excel 文件 在 Razor 中為WorkBook物件新增資料和樣式 使用"檔案"方法,在按下按鈕時自動下載 Excel 檔案。 檢查產生的 Excel 文件 IronXL:C# Excel 函式庫 IronXL 是一個 C# Excel 函式庫,它提供使用平行處理來提高運算能力的方法來操作大型資料集。 它使用方便,無需了解內部工作原理,並且支援 XLS 和 XLSX 檔案。 IronXL 非常適合匯入、匯出、建立 Excel 公式和辦公室文檔,而無需安裝 Microsoft Office。 學習如何使用 IronXL 在 Razor Pages 中匯入和匯出 Excel 檔案。 在 Razor Pages 中產生 Excel 文件 要在 Razor Pages 中建立 Excel 表格,請先開啟 Visual Studio,建立一個 ASP.NET Core Web 應用程序,然後安裝 IronXL。 先決條件 在 Razor Pages 中建立 Excel 檔案需要以下設定: Visual Studio(最新版本) .NET Framework 6 或 7 Visual Studio 中的 .NET Core Web 應用程式 安裝 IronXL 庫 使用 NuGet 套件管理器控制台安裝 IronXL。 輸入以下命令,即可在 .NET Core Web 應用程式中安裝該程式庫: Install-Package IronXL.Excel 產生 Excel 文件的程式碼 以下是編寫程式碼的方法。 開啟 Pages 資料夾中的"Index.cs"文件,並新增以下方法: public FileResult OnPostExport() { // Create a new WorkBook with XLSX format WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX); // Create a new WorkSheet named "data" WorkSheet workSheet = workBook.CreateWorkSheet("data"); // Add headers to the new worksheet workSheet["A1"].Value = "Product EN"; workSheet["B1"].Value = "SKU"; workSheet["C1"].Value = "Customer"; // Make header text bold workSheet["A1:C1"].Style.Font.Bold = true; // Add dummy data to the worksheet workSheet["A2"].Value = "Iron Rods"; workSheet["A3"].Value = "Mobile Phones"; workSheet["A4"].Value = "Chargers"; workSheet["B2"].Value = "105"; workSheet["B3"].Value = "285"; workSheet["B4"].Value = "301"; workSheet["C2"].Value = "Adam"; workSheet["C3"].Value = "Ellen"; workSheet["C4"].Value = "Tom"; // Convert the WorkBook to a byte array Stream for download return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx"); } public FileResult OnPostExport() { // Create a new WorkBook with XLSX format WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX); // Create a new WorkSheet named "data" WorkSheet workSheet = workBook.CreateWorkSheet("data"); // Add headers to the new worksheet workSheet["A1"].Value = "Product EN"; workSheet["B1"].Value = "SKU"; workSheet["C1"].Value = "Customer"; // Make header text bold workSheet["A1:C1"].Style.Font.Bold = true; // Add dummy data to the worksheet workSheet["A2"].Value = "Iron Rods"; workSheet["A3"].Value = "Mobile Phones"; workSheet["A4"].Value = "Chargers"; workSheet["B2"].Value = "105"; workSheet["B3"].Value = "285"; workSheet["B4"].Value = "301"; workSheet["C2"].Value = "Adam"; workSheet["C3"].Value = "Ellen"; workSheet["C4"].Value = "Tom"; // Convert the WorkBook to a byte array Stream for download return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx"); } Public Function OnPostExport() As FileResult ' Create a new WorkBook with XLSX format Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX) ' Create a new WorkSheet named "data" Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data") ' Add headers to the new worksheet workSheet("A1").Value = "Product EN" workSheet("B1").Value = "SKU" workSheet("C1").Value = "Customer" ' Make header text bold workSheet("A1:C1").Style.Font.Bold = True ' Add dummy data to the worksheet workSheet("A2").Value = "Iron Rods" workSheet("A3").Value = "Mobile Phones" workSheet("A4").Value = "Chargers" workSheet("B2").Value = "105" workSheet("B3").Value = "285" workSheet("B4").Value = "301" workSheet("C2").Value = "Adam" workSheet("C3").Value = "Ellen" workSheet("C4").Value = "Tom" ' Convert the WorkBook to a byte array Stream for download Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx") End Function $vbLabelText $csharpLabel 這段程式碼建立了一個新的 Excel WorkBook ,其中包含一個WorkSheet 。 表格中填入了虛擬數據,產生的檔案會以下列方式傳送到伺服器: WorkBook被轉換為Stream ,以便作為文件下載。 MIME 類型已設定。 已指定文件下載的名稱。 建立一個按鈕用於下載 Excel 文件 將"Index.cshtml"中的現有程式碼替換為以下程式碼: @page @model IndexModel @{ ViewData["Title"] = "Home page"; } <div class="text-center"> <h1 class="display-4">IronXL Generate Excel File</h1> <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p> <form method="post" asp-page-handler="Export"> <button class="btn btn-success p-3">Generate Excel File!</button> </form> </div> @page @model IndexModel @{ ViewData["Title"] = "Home page"; } <div class="text-center"> <h1 class="display-4">IronXL Generate Excel File</h1> <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p> <form method="post" asp-page-handler="Export"> <button class="btn btn-success p-3">Generate Excel File!</button> </form> </div> HTML 此 HTML 建立表單,並將asp-page-handler設定為"匯出",使應用程式能夠在使用者點擊"產生 Excel 檔案!"按鈕時將 Excel 檔案匯出到本機計算機,從而觸發瀏覽器下載。 運行專案 運行該項目,您將在瀏覽器中看到一個畫面。 點選綠色按鈕下載Excel檔案。 如何在 Razor Pages 中產生 Excel 文件,圖 1:IronXL 產生 Excel 表格 IronXL 產生 Excel 表格 點擊"產生Excel檔案!"後,檔案將開始下載。 如何在 Razor Pages 中產生 Excel 文件,圖 2:IronXL 下載的文件 IronXL 下載文件 開啟生成的 Excel 文件 產生的 Excel 檔案內容與程式碼輸出完全一致,格式也完全正確。 下面顯示的是產生的 Excel 檔案的快照。 如何在 Razor Pages 中產生 Excel 文件,圖 3:IronXL 產生的文件 IronXL產生的文件 IronXL 比競爭對手更勝一籌 IronXL 是一款出色的工具,可以處理 XLS 和 XLSX 格式,沒有像 NPOI 那樣的限制。 NPOI 由於是基於 Java 的,速度較慢,而 IronXL 是 C# 編寫的。 在產生大型/多個電子表格的 ASP.NET Core 應用程式中,建議選擇 IronXL 而不是 POI。 IronXL 允許在不使用 Microsoft Office 的情況下建立和編輯 Excel 檔案。與 Microsoft Interop 不同,IronXL 不需要呼叫 Microsoft Excel 的 ActiveX 控制項來進行 Excel 操作或匯出。 它還允許將 CSV 檔案匯出為 Excel 格式。 IronXL 還提供了與 Excel 檔案互動的豐富功能,包括常用格式之間的轉換、插入數學函數、新增圖表和插入影像。 結論 本文展示如何使用 IronXL 在 Razor Pages 中產生 Excel 文件,而無需 Microsoft Excel ActiveX,並且方便文件下載。 探索更多關於建立Excel檔案的教學。 IronXL 對非商業開發免費。 提供免費試用版,可用於生產環境測試。 查看定價方案以了解更多定價和授權詳情。 常見問題解答 如何在不使用 Interop 的情況下在 Razor Pages 中產生 Excel 檔案? 您可以在不使用 Interop 的情況下,利用 IronXL.Excel 函式庫在 Razor Pages 中產生 Excel 檔案。這個函式庫允許您直接在 C# 中建立並處理 Excel 檔案,不需要 Microsoft Office,只要建立 WorkBook 並將資料加入 WorkSheet 即可。 為 Razor Pages 專案安裝 IronXL 需要哪些步驟? 要為 Razor Pages 專案安裝 IronXL,您可以使用 Visual Studio 中的 NuGet Package Manager Console。執行指令 Install-Package IronXL.Excel 以將函式庫新增至您的專案。 我可以使用 IronXL 從 Razor Pages 應用程式匯出資料嗎? 是的,IronXL 可用於從 Razor Pages 應用程式匯出資料。您可以將資料轉換成Excel格式,再使用Razor Pages將資料以可下載檔案的形式傳回給客戶端。 與 Microsoft Interop 相比,使用 IronXL 生成 Excel 檔案有哪些優點? 與 Microsoft Interop 相比,IronXL 具備多項優點,包括更快的效能、無須安裝 Microsoft Office,以及透過平行處理有效率地處理大型資料集的能力。 是否可以使用 IronXL.Excel 在 Razor Pages 中處理大型 Excel 資料集? 是的,IronXL.Excel 能夠有效率地處理大型 Excel 資料集。它支援平行處理,在處理大量資料時可提升效能與速度。 IronXL 支援不同的 Excel 檔案格式嗎? IronXL.Excel 支援 XLS 和 XLSX 檔案格式,可進行全面的 Excel 檔案操作,包括匯入、匯出和格式化資料。 在開發中使用 IronXL 是否有任何免費的選項? IronXL 可免費用於非商業開發。生產測試可免費試用,商業用途則有多種定價方案可供選擇。 如何使用 IronXL.Excel 在 Razor Pages 中觸發 Excel 檔案下載? 若要在 Razor Pages 中使用 IronXL.Excel 觸發 Excel 檔案下載,請建立 WorkBook 並填充資料,然後將其轉換為位元組陣列。使用Razor Pages的File方法將位元組陣列轉換成可下載的檔案。 是什麼讓 IronXL 成為 NPOI 等其他函式庫的首選? 相較於 NPOI 之類的函式庫,IronXL 通常是首選,因為其原生 C# 實作提供更快的效能、易用性,而且不依賴 Java 元件,非常適合 ASP.NET Core 應用程式。 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 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多 如何在 Blazor 使用 IronXL 導出數據到 Excel如何在 C# 中使用 CSV 解析器
發表日期 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 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多