跳至頁尾內容
使用 IRONXL

如何在 C# 中將 Excel 轉換為 DataTable

這篇部落格示範如何實作 Excel 到DataTable轉換。 使用 IronXL 可以輕鬆完成這項任務,它提供了一種簡單且有效率的方式,可以用 C# 讀取和寫入 Excel 檔案。

1. IronXL

IronXL 是一個功能強大且易於使用的 C# 庫,旨在簡化 Excel 工作表的讀取、寫入、匯出資料和操作。 它為開發人員提供了一種無縫的方式來處理 Excel 電子表格,並自動執行 C# 專案中的任務。

使用 IronXL,您可以輕鬆地匯入匯出和修改 Excel 工作簿、工作表和儲存格中的資料。 它同時支援舊版 XLS 格式和新版 XLSX 格式,因此與多種 Excel 版本相容。

該程式庫提供了一個簡單的 API,使開發人員能夠對 Excel 檔案執行各種操作,例如建立新工作簿、讀取和寫入儲存格資料、應用程式格式、處理公式,甚至擷取圖表和影像。 IronXL 也支援處理複雜的資料結構,例如表格、範圍和命名範圍。

2. 先決條件

要在 C# 中使用 IronXL 處理 Excel 檔案並將其轉換為 DataTable,需要滿足一些先決條件:

1.開發環境:確保您的電腦上已設定相容的開發環境,例如 Visual Studio 或任何其他 C# IDE。

  1. IronXL 庫:下載並安裝 IronXL 庫。 您可以從 IronXL 官方網站取得該程式庫,也可以透過 Visual Studio 中的 NuGet 套件管理器取得。 在 C# 專案中包含 IronXL 命名空間,即可存取其類別和方法。
  2. .NET Framework 或 .NET Core: IronXL 同時支援 .NET Framework 和 .NET Core。 請根據您的專案需求,確保您的電腦上安裝了合適的版本。

3. 在 C# 中建立新項目

要使用 IronXL 程式庫執行與 Excel 相關的任務,第一步是在 Visual Studio 中建立一個 .NET 專案。 雖然可以使用任何版本的 Visual Studio,但建議使用最新版本。

本教學將使用控制台應用程式專案範本來示範如何使用 IronXL。

如何在 C# 中將 Excel 轉換為 DataTable,圖 1:新項目 新專案

選擇項目類型後,請繼續指定項目的名稱和位置。 此外,您還可以選擇專案的首選框架,例如 .NET Core 6。

如何在 C# 中將 Excel 轉換為 DataTable,圖 2:專案配置 專案配置

產生解決方案後,您可以存取 Program.cs 文件,在其中輸入程式碼並建立/執行應用程式。

如何在 C# 中將 Excel 轉換為 DataTable,圖 3:Program.cs Program.cs

4. 安裝 IronXL

IronXL 庫可以透過多種方式下載和安裝。 這些工具包括

  • 使用 Visual Studio NuGet 套件
  • 使用 Visual Studio 命令列

4.1 使用 Visual Studio NuGet 套件

若要在 Visual Studio 中使用 NuGet 套件管理器安裝 IronXL 庫,請開啟 NuGet 套件管理器,然後在"瀏覽"標籤中搜尋 IronXL。

在搜尋結果中找到 IronXL 後,選擇它並繼續進行安裝。 安裝完成後,您就可以在專案中使用 IronXL 庫了。

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

如何在 C# 中將 Excel 轉換為 DataTable,圖 4:NuGet 套件管理器 NuGet 套件管理器

搜尋結果中的 IronXL:

如何在 C# 中將 Excel 轉換為 DataTable,圖 5:IronXL IronXL

4.2 使用 Visual Studio 命令列

許多開發者喜歡使用命令列介面安裝軟體包。 若要使用命令列安裝 IronXL,請依照下列步驟操作:

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

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

如何在 C# 中將 Excel 轉換為 DataTable,圖 6:安裝 IronXL 套件 安裝 IronXL 軟體包

5. 使用 IronXL 將 Excel 資料轉換為資料表

使用 IronXL 可以輕鬆地將 Excel 檔案流程中的 Excel 資料匯出到 C# 中的DataTable 。 本節將討論如何使用 IronXL 將 Excel 工作表資料轉換為DataTable

首先,需要一個包含要轉換為DataTable資料的範例 Excel 檔案。 為了演示,需要建立一個簡單的 Excel 檔案。

如何在 C# 中將 Excel 轉換為 DataTable,圖 7:Excel 範例 範例 Excel

現在我們來看看程式碼範例:

using IronXL;
using System;
using System.Data;

class Program
{
    static void Main()
    {
        // Load the Excel workbook from a file
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Access the default worksheet in the workbook
        WorkSheet workSheet = workBook.DefaultWorkSheet;

        // Convert the worksheet data to a DataTable
        // Set the parameter to true to consider the first row as column headers
        DataTable dataTable = workSheet.ToDataTable(true);

        // Iterate over each row in the DataTable
        foreach (DataRow row in dataTable.Rows)
        {
            // Print each column in the row
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                Console.Write($"{row[i]} \t");
            }
            Console.WriteLine(); // Move to the next line after printing each row
        }
    }
}
using IronXL;
using System;
using System.Data;

class Program
{
    static void Main()
    {
        // Load the Excel workbook from a file
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Access the default worksheet in the workbook
        WorkSheet workSheet = workBook.DefaultWorkSheet;

        // Convert the worksheet data to a DataTable
        // Set the parameter to true to consider the first row as column headers
        DataTable dataTable = workSheet.ToDataTable(true);

        // Iterate over each row in the DataTable
        foreach (DataRow row in dataTable.Rows)
        {
            // Print each column in the row
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                Console.Write($"{row[i]} \t");
            }
            Console.WriteLine(); // Move to the next line after printing each row
        }
    }
}
$vbLabelText   $csharpLabel

在上面的程式碼中,使用 IronXL 提供的WorkBook.Load方法將 Excel 檔案載入為WorkBook對象,然後以WorkSheet物件的形式存取其第一個工作表資料。 若要將此WorkSheet轉換為資料表,可以使用workSheet.ToDataTable方法將資料轉換並儲存到新的DataTable變數中。

最後,將DataTable資料列印到控制台進行視覺化。

如何在 C# 中將 Excel 轉換為 DataTable,圖 8:將資料匯出到 DataTable 輸出 匯出資料到資料表輸出

6.結論

在 C# 中使用 DataTable 為在應用程式中處理 Excel 資料提供了一個強大且有效率的解決方案。 透過利用 IronXL 等函式庫,開發人員可以輕鬆地將 Excel 資料轉換為 DataTable,並釋放 C# 的全部潛力。

本教學探討了 IronXL 的功能及其與 C# 的無縫整合。 我們討論了使用 Excel 檔案的先決條件,例如擁有相容的開發環境、安裝 IronXL 程式庫以及確保適當的 .NET Framework 或 .NET Core 版本。

我們也示範如何在 Visual Studio 中建立一個新的 C# 項目,並透過 NuGet 套件管理器或 Visual Studio 命令列安裝 IronXL。 IronXL 成功整合到專案後,我們示範如何使用該程式庫易於使用的 API 將資料匯出到 DataTable。

透過載入 Excel 文件,存取所需的工作表,並利用 IronXL 提供的ToDataTable方法,我們能夠提取資料並將其儲存在 DataTable 中。 最後,我們展示瞭如何透過在控制台中列印其內容來視覺化資料表。

使用 C# 中的IronXL和 DataTable,開發人員可以建立強大的應用程序,這些應用程式可以與 Excel 資料無縫交互,從而實現高效的資料處理、分析和視覺化。 透過本教學所獲得的知識,您現在可以自信地將 Excel 工作表整合到您的 C# 專案中,並充分利用 DataTable 提供的豐富功能。 有關 IronXL 的更多教程,請訪問教程頁面

常見問題解答

如何在不使用 Interop 的情況下,用 C# 將 Excel 轉換為 DataTable?

您可以使用 IronXL 將 Excel 資料轉換為 C# 中的 DataTable。使用WorkBook.Load載入 Excel 文件,存取所需的工作表,然後使用workSheet.ToDataTable執行轉換。

如何在 C# 專案中設定 IronXL 來進行 Excel 資料處理?

若要在您的 C# 專案中設定 IronXL,請確保您已安裝 Visual Studio,然後使用 NuGet 套件管理員搜尋並安裝 IronXL,或使用命令列執行Install-Package IronXL.Excel

IronXL 可以同時搭配 .NET Framework 和 .NET Core 嗎?

是的,IronXL 與 .NET Framework 和 .NET Core 都相容,可在不同的開發環境中靈活地進行 Excel 資料處理。

IronXL 是否同時支援 Excel 檔案的 XLS 和 XLSX 格式?

IronXL 同時支援 XLS 和 XLSX 格式,因此可以靈活地處理各種 Excel 檔案版本。

在 C# 中使用 IronXL 進行 Excel 資料處理有哪些優點?

IronXL 提供了一個易於使用的 C# API,用於讀取、寫入和操作 Excel 檔案。它簡化了資料導入/匯出過程,並支援格式化和公式處理等高級功能。

在使用 IronXL 將 Excel 轉換為 DataTable 時,如何解決常見問題?

請確保 IronXL 已正確安裝並已在專案中引用。檢查 Excel 檔案路徑是否正確,並確保該檔案未被其他進程使用。有關具體錯誤訊息,請參閱 IronXL 文件。

使用 IronXL 推薦使用哪一種開發環境?

建議使用 Visual Studio 來使用 IronXL,因為它為 C# 專案提供了強大的開發工具和無縫整合。

如何在 C# 中視覺化從 Excel 檔案取得的 DataTable 內容?

使用 IronXL 將 Excel 資料轉換為 DataTable 後,您可以在 C# 中遍歷 DataTable 的行和列,將內容列印到控制台進行視覺化。

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