跳過到頁腳內容
使用 IRONXL

如何在 ASP.NET Core 中將 DataTable 導出到 Excel

本文將探討將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 窗體。 為了方便,本教程將使用控制臺應用程序。

如何在 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 框架 .NET 框架選擇

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

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;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        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");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as an XLSX file.
        wb.SaveAs("datatable.xlsx");
    }
}
using IronXL;
using System.Data;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        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");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as an XLSX file.
        wb.SaveAs("datatable.xlsx");
    }
}
Imports IronXL
Imports System.Data

Friend Class Program
	Shared Sub Main()
		' Create a new DataTable.
		Dim dt As New DataTable()
		dt.Columns.Add("DataSet", GetType(String)) ' Add a column to the DataTable.

		' Add rows to the DataTable.
		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")

		' Create a new workbook.
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		' Get the default worksheet.
		Dim ws As WorkSheet = wb.DefaultWorkSheet
		' Start adding data from row 1.
		Dim rowCount As Integer = 1

		' Populate the worksheet with data from the DataTable.
		For Each row As DataRow In dt.Rows
			ws("A" & (rowCount)).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Save the workbook as an XLSX file.
		wb.SaveAs("datatable.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

輸出

下面是上述源代碼的輸出,顯示數據在 Excel 文件中的樣子。

如何在 ASP.NET 中將 Datatable 匯出到 Excel,圖 7:輸出 Excel 文件 輸出 Excel 文件

5.2. DataTable 到支援的 Excel 文件格式

使用 IronXL,您也可以將 DataTable 轉換為不同的 Excel 支援文件格式,如 CSV 文件。 我們將使用下面的示例,但這次將其保存為 CSV 文件。這就是您需要做的所有事情來將工作簿保存為不同的文件格式。

using IronXL;
using System.Data;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        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");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file.
        wb.SaveAsCsv("datatable.csv");
    }
}
using IronXL;
using System.Data;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        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");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file.
        wb.SaveAsCsv("datatable.csv");
    }
}
Imports IronXL
Imports System.Data

Friend Class Program
	Shared Sub Main()
		' Create a new DataTable.
		Dim dt As New DataTable()
		dt.Columns.Add("DataSet", GetType(String)) ' Add a column to the DataTable.

		' Add rows to the DataTable.
		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")

		' Create a new workbook.
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		' Get the default worksheet.
		Dim ws As WorkSheet = wb.DefaultWorkSheet
		' Start adding data from row 1.
		Dim rowCount As Integer = 1

		' Populate the worksheet with data from the DataTable.
		For Each row As DataRow In dt.Rows
			ws("A" & (rowCount)).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Save the workbook as a CSV file.
		wb.SaveAsCsv("datatable.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

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

6. 結論

DataTable 匯出到 Excel 是數據分析和管理的重要步驟。 Excel 試算表被廣泛用於數據可視化和展示,IronXL 庫提供了一系列功能,簡化了在 ASP.NET 中處理 Excel 文件的過程。 本文介紹了創建新 ASP.NET 項目,安裝 IronXL 並使用它將 DataTable 的數據導出到 Excel 文件的步驟。此外,它還展示了如何將工作簿保存為不同的文件格式,如 CSV。通過利用 IronXL,開發人員可以簡化處理 Excel 文件的過程,並創建具有視覺吸引力的數據展示。

要了解有關 IronXL 及其將 DataTable 匯出到不同 Excel 格式的更多信息,請訪問以下教程

IronXL 可免費安裝和用於非商業開發用途。 生產環境中測試可使用免費試用版。 查看定價方案以了解有關價格和許可證的更多詳細信息。

Users can also benefit from the Iron Suite, a collection of five professional libraries including IronXL, IronPDF, and more.

常見問題解答

如何在 ASP.NET Core 中將 DataTable 匯出到 Excel 文件?

要在 ASP.NET Core 中使用 IronXL 將 DataTable 匯出到 Excel,您需要創建一個 DataTable,填充數據,然後利用 IronXL 創建新的工作簿。您可以使用 IronXL 的方法將工作簿保存為 XLSX 或 CSV 格式。

在 ASP.NET 專案中使用 IronXL 的先決條件是什麼?

在 ASP.NET 專案中使用 IronXL 之前,請確保安裝了 Visual Studio 以創建 ASP.NET 專案,並通過 NuGet 套件管理器安裝 IronXL 庫。還要確保在開發環境中正確地設置了 ASP.NET。

如何使用 Visual Studio 安裝 IronXL 到我的專案?

您可以使用 Visual Studio 中的 NuGet 套件管理器搜尋 IronXL 並點擊“安裝”來安裝 IronXL。或者,使用套件管理控制台輸入命令:Install-Package IronXL.Excel

我可以使用 IronXL 將 DataTable 数据保存為不同的文件格式嗎?

可以的,IronXL 支援將 DataTable 数据保存為各種文件格式,包括 XLSX 和 CSV。使用如 SaveAsSaveAsCsv 的方法來指定所需的文件格式。

IronXL 適合非商業開發嗎?

IronXL 可以免費安裝和用於非商業開發。還有一個免費的試用版可以用於生產測試。關於商業用途的許可詳情可以在 Iron Software 網站上找到。

使用 IronXL 將 DataTable 匯出到 Excel 有哪些優勢?

IronXL 通過提供易於使用的數據操作和匯出方法,簡化了將 DataTable 匯出到 Excel 的過程。它支持多種文件格式,有助於 Excel 中的數據可視化和呈現過程。

如何創建一個新的 ASP.NET Core 專案來將 DataTable 匯出到 Excel?

要在 Visual Studio 中創建一個新的 ASP.NET Core 項目,選擇項目類型,提供名稱和位置,並選擇適當的 .NET 框架版本。設置完成後,整合 IronXL 以管理 Excel 文件的匯出。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。