使用 IRONXL 如何在 Razor Pages 上生成 Excel 文件 Jordi Bardia 更新日期:7月 28, 2025 Download IronXL NuGet 下載 DLL 下載 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 Razor Pages 提供了一種構建網頁的現代方法。 在 Razor Pages 中,用於渲染網頁的源代碼是用 C# 編寫的,而不是由服務器端頁面生成的。 為了有效地處理 Excel 文件,建議使用 IronXL 庫,而不是其他像 POI Java 項目的 NPOI 包(特別是用於 PowerPoint 文件)和 Office Interop。IronXL 是一個功能豐富、易於使用的庫,不需要安裝 Microsoft Office,並支持多個 .NET 版本。 本文演示如何使用 IronXL C# 庫在 Razor Pages 中生成並導出包含虛擬數據和行標題的 Excel 試算表。 class="hsg-featured-snippet"> 如何在 Razor Pages 中生成 Excel 文件 安裝 C# 庫以在 Razor 中生成 Excel 文件 訪問或在方法中創建一個新的 Excel 文件 在 Razor 中為 WorkBook 對象添加數據和樣式 使用 File 方法當按下按鈕時自動下載 Excel 文件 檢查生成的 Excel 文件 IronXL: C# Excel 函式庫 IronXL 是一個 C# 的 Excel 庫,提供了在大數據集上進行平行處理的方法和功能,以增強計算能力。 它很容易使用,因為不需要了解其內部工作,並支持 XLS 和 XLSX 文件。 IronXL 非常適合於導入、導出、創建 Excel 公式和辦公文檔,而不需要安裝 Microsoft Office。 了解如何在 Razor Pages 中使用 IronXL 導入和導出 Excel 文件。 在 Razor Pages 中生成 Excel 文件 要在 Razor Pages 中創建 Excel 表格,請先打開 Visual Studio,創建一個 ASP.NET Core Web Application,並安裝 IronXL。 先決條件 在 Razor Pages 中設置創建 Excel 文件需要: Visual Studio(最新版本) .NET Framework 6 或 7 Visual Studio 中的 .NET Core Web 應用程序 安裝 IronXL 庫 使用 NuGet Package Manager Console 安裝 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 In this code, a new Excel WorkBook is created and contains one 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 設置為 "Export",允許應用程序在用戶點擊 "Generate Excel File!" 按鈕時將 Excel 文件導出到本地機器,觸發瀏覽器下載。 運行項目 運行項目,您將在瀏覽器中看到一個屏幕。 點擊綠色按鈕下載 Excel 文件。 IronXL 生成 Excel 表格 點擊 "Generate Excel File!" 後,文件將被下載。 IronXL 下載的文件 打開生成的 Excel 文件 生成的 Excel 文件內容完美匹配代碼的輸出格式。 生成的 Excel 文件的快照顯示如下。 IronXL 生成的文件 IronXL 優於競爭者 IronXL 是在處理 XLS 和 XLSX 格式時的優秀工具,沒有像 NPOI 這樣的限制,後者因為基於 Java 而速度較慢,而 IronXL 是 C#。 在 ASP.NET Core 應用程式中生成大型/多個試算表時,選擇 IronXL 而不是 POI。 IronXL 允許在不安裝 Microsoft Office 的情況下創建和編輯 Excel 文件。與 Microsoft Interop 不同,IronXL 不需要調用 Microsoft Excel 的 ActiveX 進行 Excel 操作或導出。 它還允許將 CSV 文件導出為 Excel 格式。 IronXL also provides extensive features for interacting with Excel files, including converting between popular formats, inserting math functions, adding charts, and inserting images. 結論 本文展示了在 Razor Pages 使用 IronXL 生成 Excel 文件,而不需要使用 Microsoft Excel ActiveX 並輕鬆下載文件。 探索更多創建 Excel 文件的教學。 IronXL 對於非商業開發是免費的。 生產測試可獲得免費試用。 查看價格計劃以獲取更多價格和許可證詳細信息。 常見問題解答 如何在 Razor 頁面中生成 Excel 文件,而無需使用 Interop? 您可以通過使用 IronXL 庫在 Razor 頁面中生成 Excel 文件,而無需使用 Interop。此庫允許您在 C# 中直接創建和操作 Excel 文件,無需 Microsoft Office,通過創建 WorkBook 並向 WorkSheet 添加數據。 安裝 IronXL 用於 Razor Pages 項目需要哪些步驟? 要在 Razor Pages 項目中安裝 IronXL,您可以使用 Visual Studio 中的 NuGet 套件管理器控制台。執行命令 Install-Package IronXL.Excel 以將庫添加到您的項目中。 我可以使用 IronXL 從 Razor Pages 應用程序導出數據嗎? 可以,IronXL 可以用來從 Razor Pages 應用程序導出數據。您可以將您的數據轉換為 Excel 格式,然後使用 Razor 頁面將該數據流回客戶端作為可下載文件。 使用 IronXL 生成 Excel 文件相較於使用 Microsoft Interop 有哪些優勢? IronXL 相較於 Microsoft Interop 提供了許多優勢,包括更快的性能、不需要安裝 Microsoft Office,以及通過並行處理高效處理大數據集的能力。 使用 IronXL 是否可以在 Razor Pages 中處理大 Excel 數據集? 可以,IronXL 能夠高效處理大 Excel 數據集。它支持並行處理,可以在處理大量數據時提高性能和速度。 IronXL 是否支持不同的 Excel 文件格式? IronXL 支持 XLS 和 XLSX 文件格式,允許全面的 Excel 文件操作,包括導入、導出和格式化數據。 IronXL 是否有免費選項用於開發使用? IronXL 可免費用於非商業開發。免費試用適用於生產測試,有多種定價方案可供商業使用。 如何使用 IronXL 在 Razor Pages 中觸發 Excel 文件下載? 要使用 IronXL 在 Razor Pages 中觸發 Excel 文件下載,創建一個 WorkBook,填充數據,然後將其轉換為字節數組。使用 Razor Pages 的 File 方法將字節數組以可下載文件的形式流回用戶。 IronXL 相較於其他庫如 NPOI 有什麼優勢? IronXL 通常比 NPOI 等庫更受青睞,因為它具有本地 C# 實現,提供更快的性能、易用性,並且不依賴於 Java 組件,這使其成為 ASP.NET Core 應用程序的理想選擇。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 10月 27, 2025 如何在 C# 中創建 Excel 樞紐分析表 學習使用 C# Interop 和 IronXL 創建 Excel 中的樞紐分析表,這是一個清晰的分步指南。 閱讀更多 發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 10月 27, 2025 如何使用 IronXL 的 .NET Core CSV 讀取器 學習使用 IronXL 作為 .NET Core CSV 讀取器的有效方法,提供實用範例。 閱讀更多 如何在 Blazor 使用 IronXL 導出數據到 Excel如何在 C# 中使用 CSV 解析器
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多