跳至頁尾內容
USING 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試算表,維持應用程式的效能並降低錯誤的可能性。 了解如何將資料從DataTable匯出到Excel可以幫助開發者有效地管理他們應用程式中的資料並提升使用者體驗。

本文將討論如何將大量資料從DataTable匯出到Excel檔案。它提供了一步一步的指南,從在Visual Studio中建立.NET專案到安裝IronXL程式庫和程式碼範例。 一定要準備好釋放您的創意,並使用IronXL充分發揮您的資料潛力。

1. 先決條件

要使用IronXL程式庫從資料庫中寫入Excel檔案,必須滿足幾個先決條件。 這些條件包括:

  • 必須在您的電腦上安裝Visual Studio以建立C#專案。
  • 在建立C#專案前,您的系統必須安裝ASP.NET。
  • 您的系統必須安裝IronXL程式庫。 您可以從Visual Studio的NuGet Package Manager中下載IronXL NuGet包獲得它。
  • SQL也必須安裝在Visual Studio中。 理想情況下,資料庫中應該有一個表格以匯出資料。 可以使用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. 從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

如何在C#中從DataTable匯出大量資料到Excel,圖7:Excel文件中的提取資料 Excel文件中的提取資料

在上述程式碼中,大量資料表從SQL Server資料庫檢索並匯出到Excel文件。通過連接字串建立專案和SQL Server之間的連接。

使用SqlDataAdapter物件,我們檢索SQL查詢指定的資料。 DataTables的集合、它們的關係和限制。 DataSet

然後,從IronXL程式庫中建立DataSet載入其中。 最後,WorkBook儲存為Excel檔案的XLSX格式。

通過這段程式碼,無需逐行建立標題或手動新增列。 只需幾秒鐘,那個表中所有的資料就能匯出到新的Excel文件中,使用IronXL Excel程式庫。 使用這種技術,開發者可以輕鬆地將不同資料型別、大小和來源的資料匯出到Excel工作表中。

5. 結論

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

IronXL程式庫是一個極佳的解決方案,提供一個簡單直觀的介面來程式化地讀取、寫入和編輯Excel檔案。 必須滿足幾個先決條件,比如安裝Visual Studio和ASP.NET,才能利用IronXL程式庫從Excel檔案中寫入資料庫。一旦滿足先決條件,IronXL程式庫可以通過不同的方法進行下載和安裝,比如使用Visual Studio NuGet包和Visual Studio命令行。安裝完成後的下一步是編寫程式碼,從DataTable建立一個新的工作簿,將資料匯出到Excel工作表中。

通過了解如何在C#中將資料從DataTable匯出到Excel工作表,開發者可以在他們的應用程式中有效地管理資料並提升使用者體驗。 請存取以下教程,獲取有關如何從DataTable匯出資料到Excel的更多詳細資訊。 請存取另一個教程,以獲取有關如何匯出Excel文件中的資料的更多資訊。 免費試用現可供IronXL使用者嘗試其所有功能。

使用者還可以受益於Iron Suite,這是一個包括IronPDFIronOCRIronXLIronBarcodeIronWebScraper在內的軟體開發工具集合。

常見問題

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

您可以使用 IronXL 的 WorkBook 類將大型資料集高效地從 DataTable 匯出到 Excel 工作表。此過程涉及設置 SQL 連接,使用 SqlDataAdapter 檢索資料,並使用 IronXL 進行流暢的資料匯出。

using IronXL 匯出資料的必要條件是什麼?

要使用 IronXL 匯出資料,您需要安裝 Visual Studio、ASP.NET 和 SQL。此外,您應該已經安裝 IronXL 程式庫,這可以通過 NuGet 套件管理器或 Visual Studio 命令行安裝。

如何在Visual Studio項目中安裝IronXL?

可以在 Visual Studio 專案中使用 NuGet 套件管理器安裝 IronXL。只需在瀏覽選項卡中搜索 'IronXL',選擇它,完成安裝。或者,使用在套件管理器控制台中的命令 Install-Package IronXL.Excel

IronXL 可以在沒有性能問題的情況下處理大型資料匯出嗎?

是的,IronXL 被設計為有效地處理大量資料,維持應用程式性能,同時在從 DataTable 到 Excel 試算表的匯出過程中最小化錯誤。

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

using IronXL 進行 Excel 自動化可以通過簡化資料處理任務來提高工作流程。它減少了錯誤,允許直接與 Excel 資料進行交互,而無需 Microsoft Office 元件,這對於自動化非常有利。

IronXL 是否提供免費試用?

是的,IronXL 提供免費試用,讓使用者可以在購買之前探索其全部功能和功能。

IronXL 的一些常見用例有哪些?

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

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

可以在 IronXL 網站上找到更多關於使用 IronXL 從 DataTables 匯出資料到 Excel 的資源和教程,並提供有關處理各種資料匯出場景的指南。

Iron Suite 中還有哪些其他的開發工具?

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

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話