将数据从Excel导出到C#中的数据表
: :0 :2021-01-29 13:57:05
在这种情况下,可能需要从Web或桌面应用程序中读取存储在Excel文件中的数据。对于这种情况,本文介绍如何将数据从Excel工作表导出到C#中的数据表。
将Excel导出到C#中的DataTable
将数据从Excel工作表导出到DataTables时,可能有两种情况:数据可以是强类型或非强类型。在这两种情况下,都可以相应地执行Excel到DataTable的转换。让我们看一下如何应对上述两种情况。
将强类型的Excel数据导出到C#中的DataTable
强类型数据表示单列中的值属于特定数据类型。对于这种情况,可以使用以下步骤将Excel数据导出到DataTable。
使用Workbook类加载Excel文件。
在工作表对象中获取要导出的工作表。
使用Worksheet.Cells.ExportDataTable(int,int,int,int,bool)方法将数据导出到DataTable对象。
使用DataTable作为数据源。
让我们看一下在工作表中的值不是强类型的另一种情况。这意味着它们不属于特定的数据类型。在这种情况下,以下是将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();