跳過到頁腳內容
使用 IRONXL

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

本文將提供從DataTable提取大量數據到Excel表的最有效方法。

IronXL

IronXL是一個先進的C#庫,提供了一個簡單、直觀的界面來編程讀取、寫入和編輯Excel文件。 它是一個工具,可以釋放Excel電子表格的全部潛力,讓開發人員和用戶輕鬆操作數據。 它被設計來處理在Excel中更具重複性和耗時的任務。 無論您是在處理財務模型、銷售報告還是數據可視化項目,IronXL都可以幫助您快速有效地完成工作。

使用IronXL,您可以簡化工作流程,減少錯誤,將Excel自動化提升到更高水平。 IronXL允許您直接與Excel數據進行交互,無需接口MS文件或庫。 Developers can manage elements like cells, ranges, and multiple sheets through the IronXL API. IronXL還提供了詳細的WorkSheet API文檔

通過使用IronXL,開發人員可以輕鬆地將大量數據從DataTable導出到Excel電子表格,從而保持應用程序的性能並最大限度地減少錯誤的可能性。 了解如何在C#中將數據從DataTable導出到Excel,可以幫助開發人員有效地管理應用程序中的數據,並提升用戶體驗。

本文將討論如何將大量數據從DataTable導出到Excel文件。它提供了一個從在Visual Studio中創建.NET項目到安裝IronXL庫和代碼示例的分步指南。 一定要準備好釋放創造力,並充分發揮數據的潛力,使用IronXL。

1. 先決條件

為了使用IronXL庫從數據庫中寫入Excel文件,必須滿足幾個先決條件。 這些包括:

  • 必須在計算機上安裝Visual Studio來創建C#項目。
  • 必須在系統上安裝ASP.NET才能創建C#項目。
  • 必須在系統上安裝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 Packages

要在 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,請按照以下步驟進行:

  • Go to Tools > NuGet 套件管理器 > Package Manager Console in Visual Studio.
  • 在包管理控制台標籤中輸入以下行:
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;

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

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

在上面的代碼中,從SQL Server數據庫檢索大量數據表並將其導出到Excel文件。通過連接字符串在項目和SQL服務器之間建立連接。

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

然後,從IronXL庫創建WorkBook類的新實例,並將DataSet加載到其中。 最後,WorkBook保存為Excel文件的擴展名XLSX。

有了這段代碼,就不需要創建每個標題行或手動添加列。 在短短幾秒鐘內,該表中的所有數據都被導出到使用IronXL Excel庫的新Excel文件中。 使用此技術,開發人員可以輕鬆地將不同數據類型、尺寸和來源的數據導出到Excel工作表中。

5. 結論

數據可以使用不同的庫和技術從DataTable導出到C#中的Excel電子表格中。 處理大量數據時,利用有效處理數據的技術而不影響應用程序的性能是至關重要的。

IronXL庫是一個極好的解決方案,提供了一個簡單、直觀的界面來編程讀取、寫入和編輯Excel文件。 為了使用IronXL庫從Excel文件中寫入到數據庫,需要滿足若干先決條件,如安裝Visual Studio和ASP.NET。一旦滿足了先決條件,就可以使用不同的方法下載和安裝IronXL庫,例如使用Visual Studio NuGet packages和Visual Studio命令行。安裝完成後,下一步就是編寫代碼以從DataTable創建一個新的工作簿,並將數據導出到Excel工作表中。

理解如何在C#中將數據從DataTable導出到Excel工作表,開發人員可以有效地管理其應用程序中的數據並提高用戶體驗。 請訪問以下教程以獲取有關從DataTable導出數據到Excel的更詳細信息。 請訪問其他教程以了解有關如何從Excel文件導出數據的更多信息。 IronXL還提供免費試用版,用戶可以試用其所有功能。

Users can also benefit from Iron Suite, a collection of software development tools including IronPDF, IronOCR, IronXL, IronBarcode, and IronWebscraper.

常見問題解答

我如何在C#中將大型數據集從DataTable匯出到Excel?

您可以使用IronXL的WorkBook類高效地將大型數據集從DataTable匯出到Excel工作表。這一過程涉及設置SQL連接,使用SqlDataAdapter檢索數據,並使用IronXL進行精簡的數據匯出。

使用IronXL匯出數據的先決條件是什麼?

要使用IronXL匯出數據,您需要安裝Visual Studio、ASP.NET和SQL。此外,您應該擁有IronXL庫,可以通過NuGet Package Manager或Visual Studio命令行安裝。

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

IronXL可以在Visual Studio項目中使用NuGet Package Manager安裝。只需在瀏覽標籤中搜索'IronXL',選擇它並完成安裝。或者,在Package Manager控制台中使用命令Install-Package IronXL.Excel

IronXL可以在不影響性能的情況下處理大數據量的匯出嗎?

是的,IronXL被設計為有效處理大量數據,在從DataTable匯出到Excel電子表格的過程中保持應用程序性能並最小化錯誤。

使用 IronXL 進行 Excel 自動化的好處是什麼?

使用IronXL進行Excel自動化通過簡化數據操作任務來提升工作流程。它減少了錯誤並允許直接與Excel數據交互,而無需Microsoft Office組件,這對於自動化有利。

IronXL是否提供免費試用版?

是的,IronXL提供免費試用,允許用戶在購買前探索其全部功能和性能。

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

IronXL通常用於如財務建模、銷售報告、數據可視化和自動化重複性Excel操作在C#應用程序中的任務。

我在哪裡可以找到更多有關從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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。