跳至頁尾內容
使用 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 功能,例如資料透視表、條件格式和資料驗證。

在 Web 開發中,將資料匯出到 Excel 和 CSV 檔案是一項常見的任務,而 Razor 和 IronXL 可以輕鬆完成這項任務。 借助 IronXL,開發人員可以輕鬆建立 Excel 電子表格並將其儲存到檔案或流程中。 然後可以使用 Razor 產生包含指向 Excel 文件的連結的動態內容,使用戶能夠直接從網頁下載這些文件。 也可以使用 IronXL 產生 CSV 檔案格式,並使用 Razor 進行類似下載。 這樣就可以輕鬆創建報告和其他數據驅動的內容,並且可以輕鬆地與他人分享。 總的來說,Razor 和 IronXL .NET Core Razor Pages 的結合為希望建立動態、資料驅動網頁的 Web 開發人員提供了一套強大的工具集。

2. 先決條件

在 Visual Studio 中使用 Razor 之前,使用者應該具備一些先決條件。 以下是一些重要的例子:

  1. 身為 IronXL 用戶,您需要在電腦系統上安裝 Visual Studio。 您可以從微軟官方網站免費下載 Visual Studio Community。
  2. 您的電腦上還需要安裝 .NET Core SDK。 您可以從微軟官方網站下載最新版本的 .NET Core SDK。
  3. 在開始使用 Razor View 之前,必須設定好您的 Web 開發環境。

3. 建立新的 Visual Studio 項目

若要建立新的 Visual Studio 項目,請依照下列步驟操作:

1.開啟 Visual Studio。

  1. 在開始視窗中點選"建立新項目",或在選單列中點選"檔案">"新建">"專案"。

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

  2. 選擇要建立的項目類型,若要使用 Razor Pages,請選擇 ASP.NET Core Web App,然後按一下"下一步"。

    如何在 Razor 中匯出 CSV 和 Excel 文件,圖 2:在 Visual Studio 中建立一個新的 .NET Core Web 應用程式 在 Visual Studio 中建立一個新的 .NET Core Web 應用程式

  3. 將出現一個新窗口,輸入您的新項目名稱和位置。 然後點選"下一步"。

    如何在 Razor 中匯出 CSV 和 Excel 文件,圖 3:配置新項目 配置新項目

  4. 現在在新視窗中選擇目標框架,選取"設定 HTTPS"選項,然後按一下"建立"。
  5. 這樣就建立了一個新的 Visual Studio ASP.NET Core Web 應用程式專案。

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介面

透過編輯Pages目錄中的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">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>
$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");
}
$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");
$vbLabelText   $csharpLabel

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

如何在 Razor 中匯出 CSV 和 Excel 文件,圖 12:匯出的 CSV 文件中的數據 匯出的 CSV 檔案中的數據

7.結論

在 Web 開發中,將資料匯出到 Excel 表格和 CSV 檔案是一項常見的任務,而 Razor 和 IronXL 可以輕鬆完成這項任務。 借助 IronXL,開發人員可以輕鬆建立 Excel 電子表格並將其儲存到檔案或流程中。 然後可以使用 Razor 產生包含指向 Excel 文件的連結的動態內容,使用戶能夠直接從網頁下載這些文件。 這樣就可以輕鬆創建報告和其他數據驅動的內容,並且可以輕鬆地與他人分享。

Razor 和 IronXL .NET Core Razor Pages 的結合為希望建立動態、資料驅動型網頁的 Web 開發人員提供了一套強大的工具集。 要開始使用 Razor 和 IronXL,需要安裝 Visual Studio 和 .NET Core SDK。 之後,建立一個新的 Visual Studio 專案並安裝 IronXL 庫就很容易了。 最後,透過改變首頁介面並建立OnPostExport方法,開發人員只需幾個簡單的步驟即可將資料匯出到 Excel 文件。

要了解有關 IronXL、Razor 以及如何將資料匯出到 Excel 和 CSV 檔案的更多信息,請訪問以下頁面

IronXL 可免費用於非商業開發用途。 提供免費試用版,可用於生產環境測試。 請查看定價方案,以了解有關價格和許可的更多詳細資訊。

用戶還可以從Iron Suite中受益,Iron Suite 是一套包含 5 個專業 ASP.NET Core 庫的套件,其中包括IronXL 、IronPDF 等。

常見問題解答

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

您可以將 IronXL 與 Razor Pages 結合使用,將資料匯出至 Excel。首先,透過 NuGet 套件管理器或 Visual Studio 命令列安裝 IronXL。然後,建立一個新的工作簿和工作表,填充數據,並使用 Razor 將其匯出為 Excel 檔案。

使用 Razor 將資料匯出到 Excel 需要哪些步驟?

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

在.NET應用程式中,如何將資料匯出到CSV檔案?

若要使用 IronXL 將資料匯出為 CSV 文件,請修改 Razor 頁面程式碼,使其以「text/csv」格式傳回檔案。這需要使用 IronXL 處理工作表數據,並將輸出格式指定為 CSV。

從 Razor Pages 匯出 Excel 表格時,可以設定表格樣式嗎?

是的,IronXL 允許您在從 Razor Pages 匯出 Excel 表格時套用樣式。您可以自訂字體、顏色和其他格式元素,以增強資料的呈現效果。

IronXL 可以用於非商業項目嗎?

IronXL 可免費用於非商業開發用途。您也可以使用免費試用版在生產環境中進行測試,我們也提供詳細的商業用途定價方案。

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

IronXL 透過提供強大的 API,簡化了 Web 開發,使用戶可以直接從 Razor Pages 產生和操作 Excel 和 CSV 檔案。它無需進行互通,從而提高了資料匯出任務的效率,並簡化了實作過程。

為什麼開發人員會選擇 Razor 和 IronXL 來進行資料匯出任務?

開發者選擇 Razor 和 IronXL 是因為它們易於使用、靈活且功能強大。它們能夠將資料匯出功能無縫整合到 Web 應用程式中,從而創建可輕鬆共享的動態資料驅動內容。

喬迪·巴迪亞
軟體工程師
喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。