跳過到頁腳內容
使用 IRONXL

如何在 C# 中將巨大數據從 DataTable 導出到 Excel

本文將介紹將DataTable中的大量資料提取到 Excel 表格中最有效的方法。

IronXL。

IronXL是一個尖端的 C# 庫,它提供了一個簡單、直觀的接口,用於以程式設計方式讀取、寫入和編輯 Excel 檔案。 它是一款能夠充分發揮 Excel 表格潛力的工具,使開發人員和使用者能夠輕鬆處理資料。 它旨在處理 Excel 中那些重複性強、耗時較長的任務。 無論您是在製作財務模型、銷售報告還是資料視覺化項目,IronXL 都能幫助您快速且有效率地完成工作。

使用 IronXL,您可以簡化工作流程、減少錯誤,並將 Excel 自動化提升到一個新的水平。 IronXL 可讓您直接與 Excel 資料交互,而無需對接 MS 檔案或庫。 開發人員可以透過 IronXL API 管理儲存格、範圍多個工作表等元素。 IronXL 也提供了 WorkSheet API 的詳細文件

透過使用 IronXL,開發人員可以輕鬆地將大量資料從DataTable匯出到 Excel 電子表格,同時保持應用程式的效能並最大限度地減少出錯的可能性。 了解如何使用 C# 將資料從 DataTable 匯出到 Excel 可以幫助開發人員有效地管理應用程式中的資料並增強使用者體驗。

本文將探討如何將DataTable中的大型資料匯出到 Excel 檔案。文章提供了從在 Visual Studio 中建立 .NET 專案到安裝 IronXL 庫以及程式碼範例的詳細步驟指南。 準備好使用 IronXL 釋放您的創造力,並充分挖掘您的數據潛力!

1. 先決條件

要使用 IronXL 庫從資料庫寫入 Excel 文件,必須滿足幾個先決條件。 這些工具包括

  • 您的電腦上必須安裝 Visual Studio 才能建立 C# 專案。
  • 在建立 C# 專案之前,您的系統必須安裝 ASP.NET。
  • 您的系統必須安裝 IronXL 庫。 您可以透過從 Visual Studio 中的 NuGet 套件管理器下載 IronXL NuGet 套件來取得它。
  • Visual Studio 中也必須安裝 SQL。 理想情況下,資料庫中還應該有一個用於匯出資料的表。 可以使用 SQL 命令CREATE TABLE建立這樣的表並定義其結構。

2. 在 Visual Studio 中建立新項目

在使用 IronXL 程式庫執行與 Excel 相關的操作之前,您需要先在 Visual Studio 中建立一個 .NET 專案。 雖然任何版本的 Visual Studio 都相容,但建議使用最新版本。

您可以根據自身需求,從各種專案範本中進行選擇,例如 Windows Forms 和 ASP.NET。

本教學採用控制台應用程式專案範本來示範如何使用 IronXL。

如何在 C# 中將 DataTable 中的大量資料匯出到 Excel,圖 1:建立一個新的專案窗口 建立一個新的專案視窗

選擇項目類型後,需要為項目命名並選擇其位置。 您也可以為專案指定首選框架,例如 .NET Core 6。

如何使用 C# 將 DataTable 中的海量資料匯出到 Excel,圖 2:專案配置 專案配置

生成解決方案後,您可以訪問 program.cs 文件,在其中輸入代碼並建立/執行應用程式。

如何在 C# 中將 DataTable 中的大量資料匯出到 Excel,圖 3:已開啟程式碼的項目 專案代碼已打開

3. 安裝 IronXL

IronXL庫可以透過多種方法下載和安裝:

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

3.1 使用 Visual Studio NuGet 套件

若要在 Visual Studio 中使用 NuGet 套件管理器安裝 IronXL 庫,請開啟 NuGet 套件管理器,然後在"瀏覽"標籤中搜尋 IronXL。

在搜尋結果中找到 IronXL 後,選擇它並繼續進行安裝。 安裝完成後,您就可以在專案中使用 IronXL 庫了。

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

如何在 C# 中將 DataTable 中的大量資料匯出到 Excel,圖 4:NuGet 套件管理器 NuGet 套件管理器

搜尋結果中的 IronXL:

如何使用 C# 將 DataTable 中的海量資料匯出到 Excel,圖 5:IronXL 搜尋結果 IronXL 搜尋結果

3.2 使用 Visual Studio 命令列

許多開發者喜歡使用命令列介面安裝軟體包。 若要使用命令列安裝 IronXL,請依照下列步驟操作:

  • 在 Visual Studio 中,前往"工具" > "NuGet 套件管理員" > "套件管理員控制台"
  • 在程式包管理器控制台標籤中輸入以下代碼:
Install-Package IronXL.Excel

現在該軟體包將下載/安裝到當前專案中,即可使用。

如何使用 C# 將 DataTable 中的海量資料匯出到 Excel,圖 6:透過命令列安裝 透過命令列安裝

4. 將資料表中的資料匯出到 Excel 文件

若要使用 IronXL 將DataTable中的資料匯出至 Excel,您需要將資料庫表格整合到 C# 專案中。

以下程式碼範例展示如何將DataTable所有列中的資料匯出到 Excel 工作表中。

using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;

class LargeDataToExcel 
{
    static void Main()
    {
        // SQL query to select all data from the specified table
        string sql = "SELECT * FROM [dbo].[Table]";

        // SQL Server connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\YOURUSERNAME\SOURCE\REPOS\YOURPROJECT\DATABASE1.MDF;Integrated Security=True";

        // Establishing a SQL connection using SqlConnection
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open the connection to the database
            connection.Open();

            // Initialize the SqlDataAdapter with the SQL query and connection
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);

            // Create a new DataSet to hold the data from the database
            DataSet ds = new DataSet();

            // Fill the DataSet with data from the database
            adapter.Fill(ds);

            // Create a new Excel workbook from the DataSet
            WorkBook workBook = WorkBook.Load(ds);

            // Save the workbook as an Excel file
            workBook.SaveAs("sample.xlsx");
        }
    }
}
using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;

class LargeDataToExcel 
{
    static void Main()
    {
        // SQL query to select all data from the specified table
        string sql = "SELECT * FROM [dbo].[Table]";

        // SQL Server connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\YOURUSERNAME\SOURCE\REPOS\YOURPROJECT\DATABASE1.MDF;Integrated Security=True";

        // Establishing a SQL connection using SqlConnection
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open the connection to the database
            connection.Open();

            // Initialize the SqlDataAdapter with the SQL query and connection
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);

            // Create a new DataSet to hold the data from the database
            DataSet ds = new DataSet();

            // Fill the DataSet with data from the database
            adapter.Fill(ds);

            // Create a new Excel workbook from the DataSet
            WorkBook workBook = WorkBook.Load(ds);

            // Save the workbook as an Excel file
            workBook.SaveAs("sample.xlsx");
        }
    }
}
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.SqlClient

Friend Class LargeDataToExcel
	Shared Sub Main()
		' SQL query to select all data from the specified table
		Dim sql As String = "SELECT * FROM [dbo].[Table]"

		' SQL Server connection string
		Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\YOURUSERNAME\SOURCE\REPOS\YOURPROJECT\DATABASE1.MDF;Integrated Security=True"

		' Establishing a SQL connection using SqlConnection
		Using connection As New SqlConnection(connectionString)
			' Open the connection to the database
			connection.Open()

			' Initialize the SqlDataAdapter with the SQL query and connection
			Dim adapter As New SqlDataAdapter(sql, connection)

			' Create a new DataSet to hold the data from the database
			Dim ds As New DataSet()

			' Fill the DataSet with data from the database
			adapter.Fill(ds)

			' Create a new Excel workbook from the DataSet
			Dim workBook As WorkBook = WorkBook.Load(ds)

			' Save the workbook as an Excel file
			workBook.SaveAs("sample.xlsx")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

如何使用 C# 將 DataTable 中的大量資料匯出到 Excel,圖 7:Excel 檔案中提取的數據 擷取的資料在 Excel 文件中

上面的程式碼從 SQL Server 資料庫中擷取一個大型資料表,並將其匯出到 Excel 檔案。項目與 SQL Server 之間的連接是透過連接字串建立的。

使用SqlDataAdapter對象,我們檢索 SQL 查詢指定的資料。 DataSet物件可以儲存DataTables的集合、它們之間的關係和限制。 SqlDataAdapter將資料表中的資料填入DataSet作為 SQL 查詢結果。

然後,從 IronXL 庫建立一個新的WorkBook類別實例,並將DataSet載入到該實例中。 最後, WorkBook儲存為 XLSX 文件,這是 Excel 文件的副檔名。

使用這段程式碼,無需建立每個標題行或手動新增列。 使用 IronXL Excel 庫,只需幾秒鐘即可將該表格中的所有資料匯出到新的 Excel 檔案。 利用這種技術,開發人員可以輕鬆地將不同資料類型、大小和來源的資料匯出到 Excel 工作表中。

5.結論

使用各種函式庫和技術,可以將資料從 C# 中的DataTable匯出到 Excel 電子表格。 處理大量資料時,採用能夠高效處理資料而不影響應用程式效能的技術至關重要。

IronXL庫是一個優秀的解決方案,它提供了一個簡單直覺的介面,可以以程式設計方式讀取、寫入和編輯 Excel 檔案。 要使用 IronXL 函式庫將 Excel 檔案中的資料寫入資料庫,必須滿足一些前提條件,例如安裝 Visual Studio 和 ASP.NET。滿足這些前提條件後,可以使用多種方法下載並安裝 IronXL 程式庫,例如使用 Visual Studio NuGet 套件或 Visual Studio 命令列。安裝完成後,下一步是編寫程式碼,根據DataTable建立一個新的工作簿,並將資料匯出到 Excel 工作表中。

透過了解如何使用 C# 將資料從DataTable匯出到 Excel 工作表,開發人員可以有效地管理應用程式中的資料並增強使用者體驗。 有關將資料從DataTable匯出到 Excel 的更多詳細信息,請參閱以下教程。 請參閱另一篇教程,以了解有關如何從 Excel 檔案匯出資料的更多資訊。 IronXL 提供免費試用版,使用者可以體驗其所有功能。

用戶還可以從Iron Suite中受益,Iron Suite 是一套軟體開發工具,包括IronPDFIronOCRIronXLIronBarcodeIronWebscraper

常見問題解答

如何用 C# 從 DataTable 匯出大型資料集到 Excel?

您可以使用 IronXL 的 WorkBook 類別,將 DataTable 中的大型資料集有效地匯出到 Excel 表單中。這個過程包括設定 SQL 連線、使用 SqlDataAdapter 擷取資料,以及使用 IronXL 來簡化資料匯出。

使用 IronXL 匯出資料的先決條件是什麼?

要使用 IronXL 匯出資料,您需要安裝 Visual Studio、ASP.NET 和 SQL。此外,您應該有 IronXL 函式庫,可以透過 NuGet 套件管理員或 Visual Studio 指令行安裝。

如何在 Visual Studio 專案中安裝 IronXL?

IronXL 可以使用 NuGet Package Manager 安裝在 Visual Studio 專案中。只需在「瀏覽」標籤中搜尋「IronXL」,選取它,並完成安裝。或者,在套件管理員控制台中使用 Install-Package IronXL.Excel 指令。

IronXL 能否在不產生效能問題的情況下處理大量資料的匯出?

是的,IronXL 旨在高效處理大量資料,在維持應用程式效能的同時,將 DataTable 匯出至 Excel 試算表過程中的錯誤降至最低。

使用 IronXL 進行 Excel 自動化有哪些好處?

使用 IronXL.Excel 自動化可簡化資料操作任務,從而增強工作流程。它可以減少錯誤,並允許與 Excel 資料直接互動,而不需要 Microsoft Office 元件,這對於自動化是非常有利的。

IronXL 是否提供免費試用?

是的,IronXL 提供免費試用,讓使用者在承諾購買之前,可以探索其完整的特性和功能。

IronXL 有哪些常見的使用案例?

IronXL 常用於財務建模、銷售報告、資料可視化以及 C# 應用程式中重複 Excel 作業的自動化等工作。

我在哪裡可以找到更多從 DataTables 匯出資料的資源?

有關使用 IronXL 將 DataTables 中的資料匯出至 Excel 的其他資源和教學,請參閱 IronXL 網站,該網站也提供處理各種資料匯出情境的指南。

Iron Suite 還有哪些開發工具?

Iron Suite 包括 IronPDF、IronOCR、IronXL、IronBarcode 和 IronWebscraper 等多種工具,可針對不同的軟體開發需求提供全面的解決方案。

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