跳過到頁腳內容
使用 IRONXL
如何將數據表轉換為Excel文件

在 C# 中將 DataTable 導出到 Excel(代碼範例教程)

以程式方式修改 Excel 電子表格可能比較困難,主要有兩個原因。 首先,在使用電子表格時,使用者必須保持一致的介面和文件結構,但這並不總是那麼容易。 其次,在特定情況下,尤其是涉及複雜計算時,並不總是清楚哪些程式碼能夠正常運作。 以程式設計方式建立 Excel 檔案之所以困難,原因有很多。 程式設計師必須先將 Excel 文件中的資料轉換為可讀格式,然後再解析數據,最後再將其解析回來,這更加困難。 我已經找到了解決這個問題的方法。 我將教你如何使用IronXL .NET Excel 庫輕鬆建立 Excel 文件,並透過程式設計將 DataTable 匯出到 Excel 工作表中。 讓我們開始吧:

IronXL功能

  • IronXL可在多種作業系統上運行,包括 Windows、 LinuxmacOS
  • IronXL支援幾乎所有.NET Framework,包括控制台、Windows 窗體應用程式和Web 應用程式
  • IronXL讓讀取 Excel 檔案變得簡單輕鬆。
  • 使用IronXL,我們可以載入、編輯、匯出資料表,匯出資料集,並讀取 Excel 檔案格式,例如 XLSX 檔案、XLS、CSV、TSV、XLST、XLSM 檔案等。
  • IronXL允許我們保存和匯出各種副檔名的文件,包括 XLS、CSV、TSV、JSON、XLSX 等。
  • IronXL可以建立Excel 公式。 IronXL支援文字、數字、公式、日期、貨幣、百分比和其他Excel 儲存格資料格式。 它還提供了多種排序選項,例如按範圍、列和行排序等。
  • IronXL中的儲存格樣式包括字體、大小、背景圖案、邊框和對齊方式等。
  • 我們可以使用IronXL讀取和匯出 Excel 檔案中的資料。
  • IronXL不需要在您的伺服器上安裝 Excel 或 Interop。 IronXL API 比 Microsoft Office、Interop 和 Excel 更快、更容易使用。

1. 在 Visual Studio 中建立新項目

要使用IronXL函式庫,我們必須在 Visual Studio 中建立一個.NET專案。 您可以使用任何版本的 Visual Studio,但建議使用最新版本。 您可以根據自身需求建立類似 Windows Forms 的應用程式或不同的專案範本。 為了簡單起見,本教學將使用控制台應用程式。

如何使用 C# 將資料表中的大量資料匯出至 Excel,圖 1:在 Visual Studio 中建立新的專案 UI 在 Visual Studio 中建立一個新的專案 UI

接下來,輸入項目名稱和項目地點。

如何使用 C# 將資料表中的大量資料匯出至 Excel,圖 2:建立新專案的設定步驟 建立新專案的設定步驟

接下來,請選擇以下框架。 在這個專案中,我們將使用.NET Core 6。

如何使用 C# 將資料表中的大量資料匯出至 Excel,圖 3: .NET Framework選擇 UI .NET Framework選擇介面

應用程式建立解決方案後,將開啟 program.cs 文件,您可以在其中輸入程式碼並建置/執行應用程式。

如何在 C# 中將資料表中的大量資料匯出到 Excel,圖 4:新專案中的空 program.cs 檔案 新項目中的 program.cs 檔案為空

接下來,我們可以新增庫來測試程式碼。

2. 安裝IronXL庫

IronXL庫可以透過四種方式下載和安裝。

這些都是:

  • 使用 Visual Studio
  • 使用 Visual Studio 命令列。
  • 直接從NuGet網站下載。
  • 直接從IronXL網站下載。

2.1 使用 Visual Studio

我們可以使用NuGet套件管理器安裝IronXL庫。 您必須先開啟NuGet套件管理器,然後在瀏覽標籤中搜尋IronXL 。 從搜尋結果中選擇IronXL並安裝。 之後,我們的專案就可以在IronXL庫中使用了。

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

如何在 C# 中將資料表中的大量資料匯出至 Excel,圖 5:在 Visual Studio 中導覽至NuGet套件管理器 在 Visual Studio 中導航至NuGet套件管理器

搜尋結果中的IronXL :

如何在 C# 中將資料表中的大量資料匯出至 Excel,圖 6:尋找IronXL庫 搜尋IronXL庫

2.2 使用 Visual Studio 命令列

很多人喜歡使用控制台來執行操作。 所以,我們也可以透過控制台安裝它。 請依照下列步驟透過命令列安裝IronXL 。

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

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

如何使用 C# 將資料表中的大量資料匯出至 Excel,圖 7:透過控制台安裝IronXL套件 透過控制台安裝IronXL軟體包

2.3 直接從NuGet網站下載

第三種方法是直接從網站下載NuGet套件。

  • 導覽至NuGet官方IronXL套件頁面
  • 從右側選單中選擇下載套件選項。
  • 雙擊下載的軟體包。 它將自動安裝。 接下來,重新載入解決方案,並在專案中開始使用它。

2.4 直接從IronXL網站下載

點擊連結即可直接從網站下載最新軟體包。下載完成後,請按照以下步驟將軟體包新增至專案。

  • 在解決方案視窗中右鍵點選項目。 然後,選擇參考選項並瀏覽下載的參考檔案的位置。 接下來,點選確定新增參考文獻。

3. 使用IronXL將資料表匯出到 Excel 文件

IronXL允許我們透過有限的步驟輕鬆地將資料表匯出到 Excel 檔案。

首先,我們需要像下面的程式碼截圖中一樣,包含IronXL的命名空間。 新增完成後,我們就可以在程式碼中使用IronXL類別和方法了。

如何在 C# 中將資料表中的大量資料匯出到 Excel,圖 8:使用IronXL庫之前包含其命名空間 在使用IronXL庫之前,請先包含 namespace

IronXL允許我們建立 Excel 檔案並將其轉換為工作簿物件。 將它們轉換為物件後,我們可以執行各種類型的操作。 在下面的範例程式碼中,我們將把 DataTable 轉換為 Excel 工作表,然後我們可以建立一個 Excel 檔案。

using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Cat");
        table.Rows.Add("Goat");
        table.Rows.Add("Panther");
        table.Rows.Add("Fox");
        table.Rows.Add("Cheetah");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}
$vbLabelText   $csharpLabel

上面的程式碼將資料表匯出到 Excel 檔案。首先,我們建立一個 DataTable,然後建立列標題。 建立好列之後,我們再逐行加入。 新增行之後,我們建立WorkBook物件。 透過使用該對象,我們可以將資料新增至 Excel 表格中,然後將資料儲存到指定位置。 我們正在建立WorkSheet對象,該物件允許建立工作表,然後我們可以將其新增至 WorkBook 物件中。

我們使用循環逐一讀取資料表中的值,然後將該值加入工作表中。 將所有值新增至工作表後,我們使用名為 SaveAsCsv 的方法將它們儲存到 CSV 檔案中—我們需要將分隔符號和檔案名稱以及位置作為參數傳遞。 分隔符號是一個可選參數,如果不需要,我們可以忽略它。

如何使用 C# 將資料表中的大量資料匯出至 Excel,圖 9:Visual Studio 中的完整程式碼 Visual Studio 中的完整程式碼

以上是我們在.NET Core 6 上使用的程式碼的完整螢幕截圖。

結果:

如何使用 C# 將資料表中的大量資料匯出至 Excel,圖 10:在 Microsoft Excel 中開啟檔案時的結果 在 Microsoft Excel 中開啟檔案後的結果

以上是執行程式碼範例的結果。 在截圖中,資料表中的所有資料都已逐一新增至新建立的 Excel 表格中。

4 結論

IronXL是最常用的 Excel 庫之一。 它不依賴任何其他第三方程式庫。 它是獨立的,無需安裝微軟Excel。 它可在多個平台上運作。 IronXL的入門價格從 $799 起。 此外,還提供一年的產品支援和更新服務,費用另計。 IronXL提供免版稅再發放保障,但需額外付費。如需了解更多價格詳情,請造訪我們的授權頁面

常見問題解答

如何在 C# 中將 DataTable 匯出到 Excel 文件?

您可以使用 IronXL 的 WorkBook 和 WorkSheet 類將 DataTable 匯出到 Excel 文件中。創建一個 DataTable,遍歷其行,並通過 IronXL 的 API 來使用數據填充 Excel 文件。

使用 IronXL 進行 Excel 操作相較於 Interop 有什麼好處?

IronXL 比 Microsoft Interop 更快、更高效,不需要安裝 Microsoft Excel,並支持多個平台和文件格式。

IronXL 支援哪些 Excel 檔案格式?

IronXL 支持包括 XLSX、XLS、CSV、TSV、XLST 和 XLSM 在內的各種 Excel 文件格式,允許靈活的文件操作。

IronXL 可以在匯出數據時處理 Excel 公式嗎?

是的,IronXL 能夠處理 Excel 公式,確保在從 DataTable 匯出數據到 Excel 文件時保留複雜計算。

IronXL 兼容哪些操作系統?

IronXL 兼容多個操作系統,包括 Windows、Linux 和 macOS,允許跨平台開發。

使用 IronXL 是否需要安裝 Microsoft Excel?

不,IronXL 獨立於 Microsoft Excel 運行,允許您在服務器上不安裝 Excel 進行 Excel 文件操作。

如何在 C# 項目中安裝 IronXL?

您可以通過 Visual Studio 中的 NuGet 包管理器安裝 IronXL,使用命令行,或者直接從 NuGet 或 IronXL 網站下載。

IronXL 支持哪些 .NET Framework?

IronXL 支持多種 .NET Framework,包括控制台應用程序、Windows Forms 應用程序和 Web 應用程序,使其適用於各類項目。

IronXL 是否支持 Excel 文件中單元格的樣式和格式?

是的,IronXL 提供各種單元格樣式和格式選擇,例如設置字體樣式、顏色和邊框,增強 Excel 文件的外觀。

IronXL 如何簡化編程創建 Excel 文件的過程?

IronXL 通過提供易於使用的 API 來簡化過程,創建、修改和匯出 Excel 文件,免去其他方法所需的界面和結構維護的複雜性。

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me