跳過到頁腳內容
使用 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。 您可以從IronXL官方網站取得該程式庫,也可以透過 Visual Studio 中的NuGet套件管理器來取得。 在 C# 專案中包含IronXL命名空間,即可存取其類別和方法。

  1. .NET Framework或.NET Core: IronXL同時支援.NET Framework和.NET Core。 請根據您的專案需求,確保您的電腦上安裝了合適的版本。

3. Creating a New Project in 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庫了。

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提供的 @@ --CODE-653-- @@ 方法將 Excel 檔案載入為 WorkBook對象,然後以WorkSheet的方式存取其第一個工作表資料。 要將此 WorkSheet 轉換為 DataTable,可以使用 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套件管理IronXL或 Visual Studio 命令列安裝IronXL成功整合到專案後,我們示範如何使用該程式庫易於使用的 API 將資料匯出到 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 提供了一個易於使用的 API 用於讀取、寫入和操作 Excel 文件。它簡化了數據導入/導出過程,支持格式化和公式處理等高級功能。

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

確保 IronXL 在您的項目中正確安裝並引用。檢查您的 Excel 文件路徑是否正確,並確保該文件未被其他進程使用。請參閱 IronXL 文檔以獲取特定的錯誤消息。

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

推薦使用 Visual Studio 來使用 IronXL,因為它提供了強大的開發工具和無縫集成的 C# 項目支持。

如何在 C# 中可視化從 Excel 文件獲得的 DataTable 內容?

在使用 IronXL 將 Excel 數據轉換為 DataTable 之後,您可以在 C# 中遍歷 DataTable 的行和列,將內容打印到控制台以便可視化。

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