将Excel数据导出到DataTable中并检查混合数据类型
可能的使用场景
如果列包含各种类型的数据,则在将数据导出到DataTable时,程序会抛出类型异常。默认情况下,Aspose.Cells根据列中的第一个(单元格)值评估值的数据类型。因此,如果值是数字,则意味着该列的数据类型将为数字,这是合理的。如果第一个值是数字,但列中有字母数字数据或值,则应分配字符串数据类型。为了解决这个问题,请使用ExportDataTable overload,这涉及ExportDataTableOptions,请尝试将ExportTableOptions.CheckMixedValueType布尔属性设置为"true",如果一个列同时具有数值和字符串值,可以避免错误。
将Excel数据导出到DataTable并检查混合数据类型
以下示例说明了使用ExportTableOptions.CheckMixedValueType属性将Excel数据导出到数据表。请参考示例Excel文件,以及其屏幕截图和控制台输出。
示例代码
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook | |
Workbook workbook = new Workbook("sample.xlsx"); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Export Data Table Options | |
ExportTableOptions opts = new ExportTableOptions(); | |
opts.CheckMixedValueType = true; | |
// Export Data Table | |
DataTable dt = worksheet.Cells.ExportDataTable(0, 0, 7, 5, opts); | |
// Display the type of DataColumn | |
DataColumnCollection columns = dt.Columns; | |
foreach (DataColumn column in columns) | |
{ | |
Console.WriteLine(column.ColumnName + " = " + column.DataType); | |
} |
屏幕截图


控制台输出
以下是上述示例代码的控制台调试输出
Column1 = System.String
Column2 = System.String
Column3 = System.Double
Column4 = System.Double
Column5 = System.String