使用IRONXL

如何在 ASP.NET Core 中將資料表匯出到 Excel

已更新 2024年3月24日
分享:

本文將探討不同方式將 DataTable 匯出到 Excel 文件的方式及其優點。

1. IronXL

IronXL是一個功能強大的 .NET 程式庫,為開發人員提供使用 ASP.NET 讀取、寫入和操作 Excel 文件的能力。 它提供了一系列功能,使處理 Excel 檔案的過程更為簡單,例如資料擷取、格式化和驗證。

IronXL 可以處理 XLS 和 XLSX 文件格式,使其成為處理 Excel 文件的多功能工具。 它也支持各種其他檔案格式,例如 CSV 和 TSV,允許使用者處理不同的數據來源。 本文將探討IronXL的不同功能,以及它如何幫助開發者精簡處理Excel文件的過程。

2. 必要條件

使用 IronXL 庫將 DataTable 導出到 Excel 的前置條件:

  • 要創建一個 ASP.NET 專案,您的系統上需要安裝 Visual Studio。 如果您尚未安裝 Visual Studio,可以從 Microsoft 網站下載。
  • 在建立 ASP.NET 專案之前,您需要確保系統上已安裝 ASP.NET。 您可以透過前往控制面板並檢查「啟用或關閉 Windows 功能」選項來驗證這一點。 確保啟用「ASP.NET」選項。
  • 要能使用 IronXL 函式庫從 DataTable 匯出資料到 Excel 文件,您必須先安裝該函式庫。 您可以通過在 Visual Studio 的 NuGet 包管理器中下載 IronXL NuGet 包來安裝它。

3. 創建新的 ASP.NET Core 專案

若要使用 IronXL 函式庫與 Excel,您需要在 Visual Studio 中建立一個 .NET 專案。 您可以使用任何版本的 Visual Studio,但建議使用最新版本。 根據您的需求,您可以選擇不同的專案模板,例如 Windows Forms。 為了簡化流程,本教程將使用控制台應用程式。

如何在 ASP.NET 中將 Datatable 匯出到 Excel,圖 1:在 Visual Studio 中創建一個新項目

在 Visual Studio 中創建一個新專案

選擇專案類型後,為專案提供一個名稱並指定其位置。 為專案選擇所需的框架,例如 .NET Core 6。

在 ASP.NET 中如何將 Datatable 匯出至 Excel,圖2:配置新項目

配置新專案

建立解決方案後,program.cs 檔案將會被打開,讓您可以輸入程式碼並建構/執行應用程式。

如何在ASP.NET中匯出DataTable到Excel,圖3:.NET Framework選擇

.NET Framework 選擇

最後,您可以整合該庫來測試代碼。

4. 安裝IronXL

IronXL 庫可以通過不同方式下載和安裝。

這些是:

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

4.1 使用 Visual Studio

要安裝IronXL庫,最簡單的方法是在Visual Studio中使用NuGet套件管理器。 只需打開 NuGet 套件管理器,然後在「瀏覽」選項卡中搜索 IronXL。 一旦在搜索結果中找到IronXL,選擇它並繼續進行安裝。 安裝完成後,您可以開始在項目中使用IronXL庫。

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

如何在ASP.NET中將DataTable匯出到Excel,圖4:導航至NuGet套件管理器

導航到 NuGet 套件管理員

IronXL 在搜尋結果中:

如何在 ASP.NET 中將 DataTable 匯出到 Excel,圖 5:在 NuGet 套件管理器 UI 中搜尋並安裝 IronXL 套件

在NuGet套件管理器UI中搜尋並安裝IronXL套件

4.2 使用 Visual Studio 命令列

許多人喜歡使用命令列介面安裝套件。 若要使用命令列安裝IronXL,請按照以下步驟進行:

  • 在 Visual Studio 中,依次選擇 工具 > NuGet 套件管理員 > 套件管理員主控台
  • 在封裝管理員主控台標籤中輸入以下行:
Install-Package IronXL.Excel

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

如何在 ASP.NET 中匯出 Datatable 為 Excel,圖 6:在套件管理控制台中的安裝進度

套件管理器主控台中的安裝進度

5. 使用 DataTable DT 透過 IronXL 創建 Excel 文件

將資料從資料表匯出為 Excel 檔案格式相當受歡迎。 使用 IronXL,您可以輕鬆地將 DataTable 數據匯出到 Excel 文件。 以下附上的範例程式碼將把 DataTable 轉換為以 XLSX 文件格式儲存的 Excel 工作表。

5.1. DataTable 轉換為 Excel 檔案

首先,您需要包含 IronXL 的命名空間和其他依賴項。 然後,您可以開始編寫如下所示的代碼。

using IronXL;
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}
wb.SaveAs("datatable.xlsx");  
using IronXL;
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}
wb.SaveAs("datatable.xlsx");  
Imports IronXL
Imports System.Data

Private dt As New DataTable()
dt.Columns.Add("DataSet", GetType(String))
dt.Rows.Add("Pen")
dt.Rows.Add("Paper")
dt.Rows.Add("Book")
dt.Rows.Add("Cat")
dt.Rows.Add("Panther")
dt.Rows.Add("Cell")
dt.Rows.Add("Bag")
dt.Rows.Add("Bed")
dt.Rows.Add("Fan")
dt.Rows.Add("Smoke")

Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1

For Each row As DataRow In dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	rowCount += 1
Next row
wb.SaveAs("datatable.xlsx")
VB   C#

輸出

以下是上述源代碼的輸出。

如何在 ASP.NET 中匯出 DataTable 至 Excel,圖 7:輸出 Excel 文件

輸出 Excel 文件

5.2. DataTable 到支援的 Excel 檔案格式

使用 IronXL,您還可以將 DataTable 轉換為各種 Excel 支援的文件格式,例如 CSV 文件。 我們將使用以下範例,不過這次將其保存為 CSV 文件。這就是將工作簿保存為不同檔案格式所需的全部操作。

using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++; 
}
wb.SaveAsCsv("datatable.csv");  
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++; 
}
wb.SaveAsCsv("datatable.csv");  
Imports System.Data

Private dt As New DataTable()
dt.Columns.Add("DataSet", GetType(String))
dt.Rows.Add("Pen")
dt.Rows.Add("Paper")
dt.Rows.Add("Book")
dt.Rows.Add("Cat")
dt.Rows.Add("Panther")
dt.Rows.Add("Cell")
dt.Rows.Add("Bag")
dt.Rows.Add("Bed")
dt.Rows.Add("Fan")
dt.Rows.Add("Smoke")

Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1

For Each row As DataRow In dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	rowCount += 1
Next row
wb.SaveAsCsv("datatable.csv")
VB   C#

如何在 ASP.NET 中將 DataTable 匯出到 Excel,圖 8:輸出 CVS 文件

輸出 CVS 檔案

6. 結論

DataTable 匯出到 Excel 是數據分析和管理中的關鍵步驟。 Excel 工作表廣泛用於數據可視化和展示,而 IronXL 庫提供了一系列功能以簡化在 ASP.NET 中處理 Excel 文件的過程。 本文介紹了創建新 ASP.NET 專案、安裝 IronXL 及使用它從 DataTable 導出資料到 Excel 文件的步驟。此外,它展示了如何將工作簿保存為不同的文件格式,例如 CSV。利用 IronXL,開發人員可以簡化處理 Excel 文件的過程,並創建數據的視覺化展示。

若要了解有關 IronXL 和將 DataTable 匯出至不同 Excel 格式的更多資訊,請造訪以下內容教程.

IronXL可免費安裝並用於非商業開發用途。 A免費試用可用在生產環境中進行測試。 看看訂價方案了解更多有關價格和授權的詳情。

用戶還可以受益於Iron Suite,五個專業庫的套件,包括IronXL、IronPDF 和更多。

< 上一頁
如何在 .NET 6 中匯出檔案至 Excel
下一個 >
使用 C# 讀取 Excel 數據並插入到數據庫中

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 1,136,001 查看許可證 >