VB.NET Datagrid视图不显示Integer数据的完整列

我正在上传一个Excel数据到一个DataGrid视图。 excel包含有关特定项目的资产映射(资产ID,EmpID1,EmpID2,Project#等)的数据( 某些资产可能被标记为多于一个关联,所以我有两个EmpId字段和第二个可能有空值) 。 在这里,我只是试图查询(select* ..)的Excel中,并把它放在一个数据表(我需要后者的用法),最后在datagrid视图中显示它。 虽然数据导出没有问题,但我正在观察vb.net中的一个特殊行为

1)如果前10行内没有数据,则EmpID2列不显示任何数据(完全空白)。 即如果该列的前10行为空白,则数据网格视图中的整列为空。

2)如果在前10行中至less有一行有值(即使我手动添加一个垃圾数字),那么我可以看到其余行的数据被正确更新。

代码片段:

Dim query_Assetsmapping As String = "select * from [sheet1$]" Dim MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=Asset_Mapping.xls; Extended Properties=Excel 8.0") Dim MyCommand = New System.Data.OleDb.OleDbDataAdapter(query_Assetsmapping, MyConnection) Dim DtSet = New System.Data.DataTable MyCommand.Fill(DtSet) MyConnection.Close() DataGridView1.DataSource = DtSet.tables(0) 

我没有看到任何数据types的问题,因为我只是从Excel中导出数据到数据表,没有指定或转换数据types。

帮助我理解,如果需要为datagrid视图属性明确指定任何内容,那么我可以在数据网格中显示整个数据。

注意:EmpId字段是一个6位数字。

只要改变你的连接string

 Dim MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=Asset_Mapping.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'")