MS Excel 電子表格廣泛用於保存小型、中型或大型數據。在各種情況下,電子表格充當數據庫來存儲應用程序數據。在這種情況下,您可能需要從 Web 或桌面應用程序中讀取存儲在 Excel 文件中的數據。對於此類情況,本文介紹瞭如何在 C# 中將 Excel 數據轉換為 DataTables。
- 將 Excel 數據導出到 DataTable 的 C# API
- C# 中的 Excel 到數據表
- 將強類型 Excel 數據轉換為 DataTable
- 將非強類型 Excel 數據轉換為 DataTable
- 獲得免費許可證
C# Excel 到 DataTable 轉換 API
Aspose.Cells for .NET 是一個類庫,可讓您在 .NET 應用程序中實現 Excel 自動化功能。此外,API 允許您在幾個步驟內將數據從 Excel 工作表導出到 ADO.NET DataTable。您可以 下載 API 或通過 NuGet 安裝它。
PM> Install-Package Aspose.Cells
在 C# 中將 Excel 轉換為 DataTable
將數據從 Excel 工作表導出到數據表時可能有兩種情況:數據可能是強類型或非強類型。在這兩種情況下,您都可以相應地執行 Excel 到 DataTable 的轉換。讓我們看看如何處理上述任何一種情況。
在 C# 中將強類型 Excel 數據轉換為 DataTable
強類型數據意味著單個列中的值屬於特定數據類型。對於此類情況,您可以使用以下步驟將 Excel 數據導出到 C# 中的 DataTable。
- 使用 Workbook 類加載 Excel 文件。
- 在 Worksheet 對像中獲取要導出的工作表。
- 使用 Worksheet.Cells.ExportDataTable(int, int, int, int, bool) 方法將數據導出到 DataTable 對象。
- 使用 DataTable 作為數據源。
下面的代碼示例演示如何將 Excel 導出到 DataTable。
// 創建包含要打開的 Excel 文件的文件流
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// 實例化工作簿對象
//通過文件流打開Excel文件
Workbook workbook = new Workbook(fstream);
// 訪問 Excel 文件中的第一個工作表
Worksheet worksheet = workbook.Worksheets[0];
// 導出從第一個單元格開始的2行2列的內容到DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);
// 將 DataTable 與 DataGrid 綁定
dataGridView1.DataSource = dataTable;
// 關閉文件流以釋放所有資源
fstream.Close();
在 C# 中將非強類型 Excel 數據轉換為 DataTable
現在,讓我們看看工作表中的值不是強類型的另一種情況。這意味著它們不屬於特定的數據類型。下面是本例將Excel數據導出到DataTable的步驟。
- 使用 Workbook 類加載 Excel 文件。
- 在 Worksheet 對像中選擇要導出的工作表。
- 使用 Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool) 方法將數據導出到 DataTable 對象。
- 使用 DataTable 作為數據源。
下面的代碼示例演示如何在 C# 中將非強類型數據從 Excel 導出到 DataTable。
// 創建包含要打開的 Excel 文件的文件流
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// 實例化工作簿對象
//通過文件流打開Excel文件
Workbook workbook = new Workbook(fstream);
// 訪問 Excel 文件中的第一個工作表
Worksheet worksheet = workbook.Worksheets[0];
// 導出從第一個單元格開始的2行2列的內容到DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);
// 將 DataTable 與 DataGrid 綁定
dataGridView1.DataSource = dataTable;
// 關閉文件流以釋放所有資源
fstream.Close();
獲得免費許可證
您可以獲得免費的臨時許可證,以便在沒有評估限制的情況下試用 API。
結論
在本文中,您了解瞭如何使用 C# 將 Excel 數據導出或轉換為 ADO.NET 數據表。分步教程和代碼示例展示瞭如何處理工作表中的強類型和非強類型數據。您可以使用 文檔 探索有關 C# Excel API 的更多信息。