使用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. 使用 IronXL 以 DataTable DT 建立 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 文件

輸出CSV檔

6. 結論

DataTable 匯出到 Excel 是數據分析和管理中的關鍵步驟。Excel 工作表廣泛用於數據視覺化和展示,IronXL 庫提供了一系列功能,簡化了在 ASP.NET 中處理 Excel 文件的過程。本文涵蓋了創建新的 ASP.NET 專案、安裝 IronXL 並使用它將數據從 DataTable 匯出到 Excel 文件的步驟。此外,還演示了如何將工作簿保存為不同的文件格式,如 CSV。通過使用 IronXL,開發者可以簡化處理 Excel 文件的過程,並創建具有視覺吸引力的數據展示。

如需了解更多有關 IronXL 及匯出 DataTable 到不同 Excel 格式的資訊,請訪問以下網址 教程.

IronXL 可免費安裝和使用於非商業開發用途。 免費試用可用 在生產環境測試。看看 訂價方案 了解有關價格和授權的更多詳細信息。

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

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

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

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