跳至頁尾內容
使用 IRONXL
如何將資料表轉換為 Excel 文件

C# 中將資料表匯出到 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 選擇介面 .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 命名空間 使用 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物件中。

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

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

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

Result:

如何使用 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 檔案。

與 Interop 相比,使用 IronXL 進行 Excel 操作有哪些優點?

IronXL 比 Microsoft Interop 更快、更有效率,無需安裝 Microsoft Excel,並且支援多種平台和檔案格式。

IronXL 支援哪些 Excel 檔案格式?

IronXL 支援多種 Excel 檔案格式,包括 XLSX、XLS、CSV、TSV、XLST 和 XLSM,從而實現靈活的檔案操作。

IronXL在匯出資料時能否處理Excel公式?

是的,IronXL 可以處理 Excel 公式,確保在將資料從 DataTable 匯出到 Excel 檔案時,複雜的計算結果能夠保留下來。

IronXL相容於哪些作業系統?

IronXL 與包括 Windows、Linux 和 macOS 在內的多種作業系統相容,因此可進行跨平台開發。

使用 IronXL 是否必須安裝 Microsoft Excel?

不,IronXL 獨立於 Microsoft Excel 運行,因此您無需在伺服器上安裝 Excel 即可處理 Excel 檔案。

如何在 C# 專案中安裝 IronXL?

您可以透過 Visual Studio 中的 NuGet 套件管理器、命令列或直接從 NuGet 或 IronXL 網站下載來安裝 IronXL。

IronXL 支援哪些 .NET 框架?

IronXL 支援多種 .NET 框架,包括控制台應用程式、Windows 窗體應用程式和 Web 應用程序,使其能夠靈活應用於不同類型的專案。

IronXL 是否支援對 Excel 檔案中的儲存格進行樣式和格式設定?

是的,IronXL 提供了多種儲存格樣式和格式設定選項,例如設定字體樣式、顏色和邊框,以增強 Excel 檔案的外觀。

IronXL 如何簡化以程式設計方式建立 Excel 檔案的過程?

IronXL 簡化了建立、修改和匯出 Excel 檔案的過程,提供了易於使用的 API,而無需像其他方法那樣維護複雜的介面和結構。

喬迪·巴迪亞
軟體工程師
喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。