
如何在 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,有一些先決條件需要滿足:
- **開發環境:**確保您的機器上已設定相容的開發環境,例如Visual Studio或其他C# IDE。
- **IronXL程式庫:**下載並安裝IronXL程式庫。 您可以從IronXL官方網站獲取程式庫,或通過Visual Studio中的NuGet套件管理器獲取。 在您的C#專案中包括IronXL命名空間以存取其類和方法。
- **.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套件管理器 > 套件管理器控制台。
- 在套件管理器控制台的選項卡中輸入以下行:
現在,套件將下載並安裝到當前專案中,並準備好使用。
如何在C#中將Excel轉換為DataTable,圖6:安裝IronXL套件 安裝IronXL套件
5. 使用IronXL將Excel資料轉換為DataTable
在C#中,使用IronXL可以輕鬆實現從Excel文件流導出Excel資料到DataTable。 本節將討論如何使用IronXL將Excel工作表資料轉換為DataTable。
首先,需要一個範例Excel文件,其中包含您要轉換成DataTable的資料。 作為示範,應建立一個簡單的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
}
}
}Imports IronXL
Imports System
Imports System.Data
Module Program
Sub Main()
' Load the Excel workbook from a file
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Access the default worksheet in the workbook
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Convert the worksheet data to a DataTable
' Set the parameter to true to consider the first row as column headers
Dim dataTable As DataTable = workSheet.ToDataTable(True)
' Iterate over each row in the DataTable
For Each row As DataRow In dataTable.Rows
' Print each column in the row
For i As Integer = 0 To dataTable.Columns.Count - 1
Console.Write($"{row(i)}" & vbTab)
Next
Console.WriteLine() ' Move to the next line after printing each row
Next
End Sub
End Module在上述程式碼中,使用IronXL提供的WorkBook方法將Excel文件載入為WorkBook.Load物件,然後存取其第一個工作表資料作為WorkSheet。 要將此DataTable變數中。
最後,將DataTable資料列印在控制台上以進行可視化。
如何在C#中將Excel轉換為DataTable,圖8:將資料匯出到DataTable輸出 將資料匯出到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中。 最後,我們展示了如何通過在控制台上列印其內容來可視化DataTable。
在C#中使用IronXL和DataTable,開發人員可以構建強大的應用程式,無縫地與Excel資料交互,從而實現高效的資料處理、分析和可視化。 透過從本教程中獲得的知識,您現在可以自信地將Excel工作表結合到您的C#專案中,並利用DataTable提供的廣泛功能。 如需更多關於IronXL的教程,請瀏覽教程頁面。

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



