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

我使用Gembox来读取Excel文件。 我正在将字段复制到一个数据表,所以我必须首先将列添加到数据表。 因此,即时通讯使用此代码:For i As Integer = 0 To objWorksheet.Columns.Count – 1 objDataTable.Columns.Add(i,GetType(ExcelCell))Next

但objWorksheet.Columns.Count是0即使在4列的数据。

有任何想法吗?

单元格在内部分配在行中而不是列中。 只有ExcelColumn对象具有非标准的宽度或样式,或者直接访问它们,才会创build它们。 所以,当ExcelRowCollection.Count显示数据占用的行数时,ExcelColumnCollection.Count并不会说哪个列是最后一个占用数据!

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

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

在版本3.5方法ExcelWorksheet.CreateDataTable(ColumnTypeResolution)被添加。 此方法将自动生成具有适当types的Excel表格列的DataTable列,并将包含数据的单元格导入DataTable行。