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。
- 使用Workbook類加載Excel文件。
- 在工作表對象中獲取要導出的工作表。
- 使用Worksheet.Cells.ExportDataTable(int,int,int,int,bool)方法將數據導出到DataTable對象。
- 使用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的步驟。
- 使用Workbook類加載Excel文件。
- 在工作表對象中選擇要導出的工作表。
- 使用Worksheet.Cells.ExportDataTableAsString(int,int,int,int,bool)方法將數據導出到DataTable對象。
- 使用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),我們很高興爲您提供查詢和諮詢。