跳至頁尾內容
USING IRONXL

如何在 Razor 中導出 CSV 和 Excel

正在尋找使用 Razor Pages 將資料匯出到 Excel 檔案的方法嗎? 本文指導如何使用 IronXL for .NET 來達成此目標。

1. IronXL

IronXL 是一個用於操作 Excel 文件的 .NET 程式庫。 它基於 OpenXML SDK 構建,並提供了一個簡單的 API 用於讀取、寫入和操作 Excel 電子表格。 IronXL 可用於各種 .NET 應用程式,包括 Web 應用程式、桌面應用程式和控制台應用程式。 IronXL 提供了一系列使用 Excel 文件的功能,包括可以讀取寫入資料到單個單元格、建立圖表和圖形,以及進行複雜計算。 它還支持高級 Excel 功能,如樞紐分析表、條件格式化和資料驗證。

在網頁開發中將資料匯出到 Excel 和 CSV 文件是常見的任務,而 Razor 和 IronXL 使其易於完成。 使用 IronXL,開發人員可以輕鬆地建立 Excel 電子表格並將其保存到文件或流。 然後可以使用 Razor 生成包含 Excel 文件連結的動態內容,允許使用者直接從網頁下載它們。 也可以使用 IronXL 生成 CSV 文件格式,並使用 Razor 類似地下載。 這使得建立報告和其他資料驅動的內容變得簡單,並且可以輕鬆與他人共享。 總體而言,Razor 和 IronXL .NET Core Razor Pages 的結合為網頁開發人員提供了一套強大的工具,讓其可以建立動態、資料驅動的網頁。

2. 先決條件

在 Visual Studio 中使用 Razor 之前,有一些先決條件使用者應該具備。 這裡是一些重要的條件:

  1. 作為 IronXL 使用者,您需要在計算機系統上安裝 Visual Studio。 您可以從 Microsoft 的官方網站免費下載 Visual Studio Community。
  2. 您還需要在計算機上安裝 .NET Core SDK。 您可以從 Microsoft 的官方網站下載最新版本的 .NET Core SDK。
  3. 在開始使用 Razor View 之前,您的網頁開發環境必須設置好。

3. 建立一個新的 Visual Studio 專案

建立一個新的 Visual Studio 專案,請遵循以下步驟:

  1. 打開 Visual Studio。
  2. 在開始窗口按"Create a New Project",或在選單欄點擊"File" > "New" > "Project"。

    如何在 Razor 中匯出 CSV 和 Excel,圖 1:Visual Studio 的開始窗口 Visual Studio 的開始窗口

  3. 選擇您想建立的專案型別,要使用 Razor Pages,選擇 ASP.NET Core Web App,然後點擊 Next。

    如何在 Razor 中匯出 CSV 和 Excel,圖 2:在 Visual Studio 建立新 .NET Core Web App 在 Visual Studio 建立新 .NET Core Web App

  4. 新窗口會出現,寫下您的新專案名稱和位置。 然後點擊 Next。

    如何在 Razor 中匯出 CSV 和 Excel,圖 3:配置新專案 配置新專案

  5. 現在在新窗口中選擇您的目標框架,檢查 HTTPS 配置選項並點擊 Create。
  6. 就這樣,您的新 Visual Studio ASP.NET Core Web App 專案被建立。

4. 安裝 IronXL

可以通過多種方式下載和安裝 IronXL 程式庫。

這些是:

  • 使用 Visual Studio NuGet 套件。
  • 使用 Visual Studio 命令行。

4.1 使用 Visual Studio

安裝 IronXL 程式庫,最簡單的方法是使用 NuGet 套件管理器。 打開管理器,在瀏覽選項卡中搜索 IronXL。 從搜索結果中選擇 IronXL 並進行安裝。

下面的截圖展示了如何在 Visual Studio 中打開 NuGet 套件管理器。

如何在 Razor 中匯出 CSV 和 Excel,圖 4:導航到 NuGet 套件管理器 導航到NuGet套件管理器

在搜尋結果中IronXL:

如何在 Razor 中匯出 CSV 和 Excel,圖 5:在 NuGet 套件管理器 UI 中搜尋 IronXL 在 NuGet 套件管理器 UI 中搜尋 IronXL

4.2 使用 Visual Studio 命令行

使用控制台來執行操作是許多人的熱門選擇。 如果您更願意通過命令行安裝 IronXL,您可以按照以下步驟進行:

  • 在 Visual Studio 中,轉到工具 > NuGet 套件管理器 > 套件管理器控制台
  • 在套件管理器控制台選項卡中輸入以下行,這將安裝包:
Install-Package IronXL.Excel

現在包將會下載/安裝到當前項目,並準備好使用。

如何在 Razor 中匯出 CSV 和 Excel,圖 6:在套件管理器控制台中安裝 IronXL 在套件管理員控制台中安裝IronXL

5. 在 Razor Net Core 中匯出資料到 Excel 文件

一旦專案建立,一個簡單的 Razor 應用程式介面就被建立。 現在更改介面以匯出到 Excel 匯出。

如何在 Razor 中匯出 CSV 和 Excel,圖 7:新建立專案的 Web 介面 新建立專案的 Web 介面

通過編輯 index.cshtml 文件在 Pages 目錄中更改上述介面。

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}
<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export 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">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export Excel File!</button>
    </form>
</div>
page model ReadOnly Property () As IndexModel
	ViewData("Title") = "Home page"
End Property
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div class="text-center"> <h1 class="display-4"> IronXL Generate Excel File</h1> <p class="m-5"> This will be the combination @of Razor @and IronXL, together they will Export data @to Excel file.</p> <form method="post" asp-page-handler="Export"> <button class="btn btn-success p-3"> Export Excel File!</button> </form> </div>
$vbLabelText   $csharpLabel

此程式碼將更改首頁介面並新增匯出按鈕。

如何在 Razor 中匯出 CSV 和 Excel,圖 8:具有匯出按鈕的新介面 具有匯出按鈕的新介面

現在在 index.cshtml.cs 文件中建立 OnPostExport 方法並編寫以下程式碼。 該程式碼生成一個工作表,在粗體中寫入列名,並允許設置其他樣式選項,如字體大小和背景顏色。 您可以將其視作從資料庫匯出資料到 Excel 文件的簡單範例。

public FileResult OnPostExport()
{
    // Create a new workbook with the Excel file format
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);

    // Create a new worksheet in the workbook
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add data and styles to the new worksheet
    workSheet["A1"].Value = "Name";
    workSheet["B1"].Value = "Email";
    workSheet["C1"].Value = "Marks";
    workSheet["D1"].Value = "Percentage";

    // Set styling for column headers
    workSheet["A1:D1"].Style.Font.Bold = true;

    // Filling the worksheet with data
    workSheet["A2"].Value = "Nick";
    workSheet["A3"].Value = "Roy";
    workSheet["A4"].Value = "Chris";
    workSheet["B2"].Value = "Nick@gmail.com";
    workSheet["B3"].Value = "Roy123@gmail.com";
    workSheet["B4"].Value = "Chris1999@gmail.com";
    workSheet["C2"].Value = "850";
    workSheet["C3"].Value = "710";
    workSheet["C4"].Value = "990";
    workSheet["D2"].Value = "85%";
    workSheet["D3"].Value = "71%";
    workSheet["D4"].Value = "99%";

    // Return the file as an Excel sheet
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
public FileResult OnPostExport()
{
    // Create a new workbook with the Excel file format
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);

    // Create a new worksheet in the workbook
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add data and styles to the new worksheet
    workSheet["A1"].Value = "Name";
    workSheet["B1"].Value = "Email";
    workSheet["C1"].Value = "Marks";
    workSheet["D1"].Value = "Percentage";

    // Set styling for column headers
    workSheet["A1:D1"].Style.Font.Bold = true;

    // Filling the worksheet with data
    workSheet["A2"].Value = "Nick";
    workSheet["A3"].Value = "Roy";
    workSheet["A4"].Value = "Chris";
    workSheet["B2"].Value = "Nick@gmail.com";
    workSheet["B3"].Value = "Roy123@gmail.com";
    workSheet["B4"].Value = "Chris1999@gmail.com";
    workSheet["C2"].Value = "850";
    workSheet["C3"].Value = "710";
    workSheet["C4"].Value = "990";
    workSheet["D2"].Value = "85%";
    workSheet["D3"].Value = "71%";
    workSheet["D4"].Value = "99%";

    // Return the file as an Excel sheet
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
Public Function OnPostExport() As FileResult
	' Create a new workbook with the Excel file format
	Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)

	' Create a new worksheet in the workbook
	Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")

	' Add data and styles to the new worksheet
	workSheet("A1").Value = "Name"
	workSheet("B1").Value = "Email"
	workSheet("C1").Value = "Marks"
	workSheet("D1").Value = "Percentage"

	' Set styling for column headers
	workSheet("A1:D1").Style.Font.Bold = True

	' Filling the worksheet with data
	workSheet("A2").Value = "Nick"
	workSheet("A3").Value = "Roy"
	workSheet("A4").Value = "Chris"
	workSheet("B2").Value = "Nick@gmail.com"
	workSheet("B3").Value = "Roy123@gmail.com"
	workSheet("B4").Value = "Chris1999@gmail.com"
	workSheet("C2").Value = "850"
	workSheet("C3").Value = "710"
	workSheet("C4").Value = "990"
	workSheet("D2").Value = "85%"
	workSheet("D3").Value = "71%"
	workSheet("D4").Value = "99%"

	' Return the file as an Excel sheet
	Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx")
End Function
$vbLabelText   $csharpLabel

上述程式碼將建立一個工作簿並將文件作為 Excel 表格返回。 此方法連結到按鈕,一旦按鈕被點擊,將自動建立並下載 XLSX 匯出文件。

如何在 Razor 中匯出 CSV 和 Excel,圖 9:在瀏覽器中匯出 XLSX 文件 在瀏覽器中匯出 XLSX 文件

如何在 Razor 中匯出 CSV 和 Excel,圖 10:匯出的 XLSX 文件中的資料 匯出的 XLSX 文件中的資料

6. 匯出資料到 CSV 文件

您可以通過在上述程式碼中改變一行來輕鬆匯出 CSV 文字文件。 只需用以下程式碼替換返回文件程式碼,您的 Razor 頁面將返回一個 CSV 文件。

return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
Return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv")
$vbLabelText   $csharpLabel

如何在 Razor 中匯出 CSV 和 Excel,圖 11:在瀏覽器中匯出 CSV 文件 在瀏覽器中匯出 CSV 文件

如何在 Razor 中匯出 CSV 和 Excel,圖 12:匯出的 CSV 文件中的資料 匯出的 CSV 文件中的資料

7. 結論

在網頁開發中,將資料匯出到 Excel 表和 CSV 文件是常見的任務,並且 Razor 和 IronXL 使其易於完成。 使用 IronXL,開發人員可以輕鬆地建立 Excel 電子表格並將其保存到文件或流。 然後可以使用 Razor 生成包含 Excel 文件連結的動態內容,允許使用者直接從網頁下載它們。 這使得建立報告和其他資料驅動的內容變得簡單,並且可以輕鬆與他人共享。

Razor 和 IronXL .NET Core Razor Pages 的結合為網頁開發人員提供了一套強大的工具,讓其可以建立動態、資料驅動的網頁。 要開始使用 Razor 和 IronXL,需要先安裝 Visual Studio 和 .NET Core SDK。 之後,建立一個新的 Visual Studio 專案,然後安裝 IronXL 程式庫即可輕鬆完成。 最後,通過更改首頁介面和建立 OnPostExport 方法,開發人員可以在幾個簡單步驟中將資料匯出到 Excel 文件中。

要了解更多關於 IronXL、Razor 以及如何匯出資料到 Excel 和 CSV 文件的資訊,請瀏覽以下頁面

IronXL 可以免費用於非商業開發用途。 可提供免費試用來進行生產測試。 查看定價方案以了解更詳細的價格和授權資訊。

使用者還可以從Iron Suite中受益,這是一個包括IronXL、IronPDF 等五個專業 ASP.NET Core 程式庫的套件。

常見問題

如何使用Razor Pages將資料匯出到Excel?

您可以將IronXL與Razor Pages結合使用來將資料匯出到Excel。首先通過NuGet Package Manager或Visual Studio Command Line安裝IronXL。然後,建立一個新的工作簿和工作表,用資料填充它,並使用Razor將其匯出為Excel檔案。

設定使用Razor將資料匯出到Excel的環境需要哪些步驟?

要設置您的環境,您需要Visual Studio和.NET Core SDK。建立一個新的ASP.NET Core Web App項目,從NuGet安裝IronXL,並修改Razor介面以新增匯出功能。

在.NET應用程式中將資料匯出到CSV檔案的過程是什麼?

要使用IronXL將資料匯出為CSV檔案,修改您的Razor Page程式碼以返回 'text/csv' 格式的檔案。這涉及使用IronXL處理工作表資料並指定CSV為輸出格式。

匯出自Razor Pages的Excel試算表時我可以設計它們嗎?

是的,IronXL允許您在從Razor Pages匯出時對Excel試算表應用樣式。您可以自定義字體、顏色和其他格式元素以增強資料的展示。

IronXL能否用於非商業項目?

IronXL可免費用於非商業開發目的。您還可以使用免費試用版來在生產環境中測試,並且有詳細的定價方案可用於商業用途。

IronXL如何簡化涉及Excel和CSV檔案的Web開發任務?

IronXL通過提供一個強大的API來直接從Razor Pages生成和操作Excel和CSV檔案來簡化Web開發。它消除了對Interop的需求,讓資料匯出任務更加高效且易於實施。

為何開發者會選擇Razor和IronXL來進行資料匯出任務?

開發者選擇Razor和IronXL是因為它們易於使用、靈活且功能強大。它們實現了資料匯出功能與Web應用程式的無縫整合,可以輕鬆共享建立的動態、資料驅動內容。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話