使用IRONXL

如何在C#中將海量數據從DataTable匯出到Excel

里根普恩
里根普恩
2023年6月6日
已更新 2024年3月31日
分享:

本文將提供從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。

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

建立新專案視窗

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

如何將大量數據從 DataTable 匯出到 Excel 在 C# 中,圖 2:專案配置

專案配置

生成解決方案後,您可以進入 program.cs 文件,在那裡輸入代碼並創建/執行應用程式。

如何將大量資料從DataTable匯出到Excel的C#範例,圖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 套件管理器。

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

NuGet 套件管理器

IronXL 在搜尋結果中:

如何將巨量數據從DataTable導出到Excel(C#),圖5:IronXL搜索結果

IronXL搜尋結果

3.2 使用 Visual Studio 命令列

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

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

現在套件將下載/安裝到當前專案並準備使用。

如何將大量資料從 DataTable 匯出到 Excel 中的 C#,圖 6:通過命令列安裝

透過命令行安裝

4. 從 DataTable 匯出數據到 Excel 文件

要使用 IronXL 將 DataTable 中的數據導出為 Excel,您需要有一個與 C# 專案整合的資料庫表。

以下程式碼範例顯示如何將所有DataTable欄位中的數據匯出到 Excel 工作表。

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

class LargeDataToExcel 
{
    static void Main()
    {
        // Your sql query
        string sql = "SELECT * FROM [dbo].[Table]";

        // Your connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open connections to the database
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            // Create new DataSet
            DataSet ds = new DataSet();
            // Fill DataSet with data
            adapter.Fill(ds);

            // Create an Excel new workbook from the SQL DataSet
            WorkBook workBook = WorkBook.Load(ds);
            workBook.SaveAs("sample.xlsx");
        }
    }
}
using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;

class LargeDataToExcel 
{
    static void Main()
    {
        // Your sql query
        string sql = "SELECT * FROM [dbo].[Table]";

        // Your connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open connections to the database
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            // Create new DataSet
            DataSet ds = new DataSet();
            // Fill DataSet with data
            adapter.Fill(ds);

            // Create an Excel new workbook from the SQL DataSet
            WorkBook workBook = WorkBook.Load(ds);
            workBook.SaveAs("sample.xlsx");
        }
    }
}
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Linq

Friend Class LargeDataToExcel
	Shared Sub Main()
		' Your sql query
		Dim sql As String = "SELECT * FROM [dbo].[Table]"

		' Your connection string
		Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"

		Using connection As New SqlConnection(connectionString)
			' Open connections to the database
			connection.Open()
			Dim adapter As New SqlDataAdapter(sql, connection)
			' Create new DataSet
			Dim ds As New DataSet()
			' Fill DataSet with data
			adapter.Fill(ds)

			' Create an Excel new workbook from the SQL DataSet
			Dim workBook As WorkBook = WorkBook.Load(ds)
			workBook.SaveAs("sample.xlsx")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

如何從DataTable導出大量數據到Excel,C#中第7圖:Excel文件中的提取數據

Excel 檔中的提取資料

在上述程式碼中,從 SQL Server 資料庫中檢索了一個大型資料表並將其匯出到 Excel 文件。專案與 SQL Server 之間的連接是通過連接字串建立的。

使用SqlDataAdapter物件,我們檢索由 SQL 查詢指定的數據。 DataSet 物件可以儲存 DataTables 的集合、它們的關係和約束。 SqlDataAdapter 使用數據表中的數據作為 SQL 查詢結果來填充 DataSet。

然後,從 IronXL 庫中創建一個新的WorkBook 類的實例,並將 DataSet 加載到其中。 最後,WorkBook 被儲存為 Excel 文件的 XLSX 檔案。

使用此代碼,不需要創建每個標題行或手動添加列。 只需幾秒鐘,該表格中的所有數據即可使用 IronXL Excel 庫導出到新的 Excel 文件中。 通過這項技術,開發者可以輕鬆地將不同數據類型、大小和來源的數據匯出到 Excel 工作表。

5. 結論

可以使用各種庫和技術,將數據從 DataTable 匯出到 Excel 試算表中,適用於 C#。 在處理大量數據時,運用能高效處理數據而不影響應用程式效能的技術是至關重要的。

IronXL庫是一個出色的解決方案,提供簡單、直觀的介面來以程式化的方式讀取、寫入和編輯Excel文件。 要使用IronXL庫從Excel文件寫入到資料庫,必須滿足若干先決條件,例如安裝Visual Studio和ASP.NET。滿足先決條件後,可以通過不同的方法下載和安裝IronXL庫,例如使用Visual Studio NuGet套件和Visual Studio命令行。安裝完成後,下一步是編寫代碼,創建導出DataTable到Excel工作表的新工作表對象發送者。

透過了解如何將 DataTable 中的資料匯出到 Excel 工作表中,開發人員可以有效地管理其應用程式中的資料並提升使用者體驗。 如需有關將資料從 DataTable 匯出到 Excel 的更多詳細資訊,請造訪以下教程。 請參閱另一個教程,以獲取有關如何從 Excel 文件中導出數據的更多信息。 IronXL 提供免費試用,用戶可以試用其所有功能。

用戶也可以從Iron Suite受益,這是一套包括IronPDFIronOCRIronXLIronBarcodeIronWebscraper在內的軟體開發工具集合。

里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
< 上一頁
如何在 C# 中打開 Excel 文件並寫入數據
下一個 >
如何在C#中將Excel轉換為Datagridview