教程:將數據從Excel導出到C#中的數據表

MS Excel電子表格被廣泛用於保留小型,中型或大型數據。在各種情況下,電子表格都充當存儲應用程序數據的數據庫。

在這種情況下,可能需要從Web或桌面應用程序中讀取存儲在Excel文件中的數據。對於這種情況,本文介紹如何將數據從Excel工作表導出到C#中的數據表。

  • 將Excel導出到C#中的DataTable

Aspose.Cells for .NET是一個類庫,可讓您在.NET應用程序中實現Excel自動化功能。此外,該API允許您在幾個步驟中將數據從Excel工作表導出到ADO.NET DataTable。擊下方按鈕可以下載API的安裝包。(點擊下載


將Excel導出到C#中的DataTable

將數據從Excel工作表導出到DataTables時,可能有兩種情況:數據可以是強類型或非強類型。在這兩種情況下,都可以相應地執行Excel到DataTable的轉換。讓我們看一下如何應對上述兩種情況。

將強類型的Excel數據導出到C#中的DataTable

強類型數據表示單列中的值屬於特定數據類型。對於這種情況,可以使用以下步驟將Excel數據導出到DataTable。

  1. 使用Workbook類加載Excel文件。
  2. 在工作表對象中獲取要導出的工作表。
  3. 使用Worksheet.Cells.ExportDataTable(int,int,int,int,bool)方法將數據導出到DataTable對象。
  4. 使用DataTable作爲數據源。

下面的代碼示例演示如何使用C#將Excel數據導出到DataTable。

// Create a file stream containing the Excel file to be opened
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Instantiate a Workbook object
//Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);

// Access the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];

// Export the contents of 2 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

// Bind the DataTable with DataGrid
dataGridView1.DataSource = dataTable;

// Close the file stream to free all resources
fstream.Close();

將非嚴格類型的Excel數據導出到C#中的數據表

現在,讓我們看一下在工作表中的值不是強類型的另一種情況。這意味着它們不屬於特定的數據類型。在這種情況下,以下是將Excel數據導出到DataTable的步驟。

  1. 使用Workbook類加載Excel文件。
  2. 在工作表對象中選擇要導出的工作表。
  3. 使用Worksheet.Cells.ExportDataTableAsString(int,int,int,int,bool)方法將數據導出到DataTable對象。
  4. 使用DataTable作爲數據源。

下面的代碼示例演示如何將非強類型數據從Excel導出到C#中的DataTable。

// Create a file stream containing the Excel file to be opened
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Instantiate a Workbook object
//Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);

// Access the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];

// Export the contents of 2 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

// Bind the DataTable with DataGrid
dataGridView1.DataSource = dataTable;

// Close the file stream to free all resources
fstream.Close();

如果您有任何疑問或需求,請隨時加入Aspose技術交流羣(761297826),我們很高興爲您提供查詢和諮詢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章