使用Gembox读取Excel文件 - Columns.Count = 0

时间:2011-09-01 07:02:01

标签: vb.net excel

我用Gembox读取Excel文件。 我正在将字段复制到数据表,所以我必须先将列添加到数据表中。 因此我使用此代码: 对于i As Integer = 0到objWorksheet.Columns.Count - 1     objDataTable.Columns.Add(i,GetType(ExcelCell)) 下一步

但即使theres数据在4列中,objWorksheet.Columns.Count为0。

任何想法?

1 个答案:

答案 0 :(得分:2)

单元格在内部分配,而不是列。仅当ExcelColumn对象具有非标准宽度或样式或直接访问它们时,才会创建它们。因此,虽然ExcelRowCollection.Count显示数据占用的行数,但ExcelColumnCollection.Count并未说明哪一列是最后一个占用数据的列!

如果要阅读工作表中的所有数据,请使用ExcelRow.AllocatedCells属性。

如果要查找数据占用的最后一列,请使用CalculateMaxUsedColumns方法。

在版本3.5中,添加了ExcelWorksheet.CreateDataTable(ColumnTypeResolution)方法。此方法将从excel文件列自动生成具有适当类型的DataTable列,并将具有数据的单元格导入DataTable行。