Dim oConn As Object
    Set oConn = CreateObject("ADODB.Connection")
    Dim oRS As New ADODB.Recordset
    oConn.CursorLocation = adUseClient
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=C:\Book1.xls;" & _
               "Extended Properties=""Excel 8.0;"""    oRS.Open "Select * from [Sheet1$]", oConn, 3, 2
    Set DataGrid1.DataSource = oRS您好,上次我请教此问题后,我用到程序运行的时候发现有以下问题:
1:DATAGRID的格式不好怎么弄,如果指定了DATAGRID每列的格式,则导入时能出现要导入的记录数(行数),但每列里的记录都是空的,没有数据显示,例如EXCEL里有10行,则导入后DATAGRID里确实有11行(带我指定的DATAGRID的表头),但每行都没有显示2:如果不指定DATAGRID每列的表头,导入后,同一列有的能显示数据,有的不能,我已经在EXCEL表格里指定同一列的数据是同一种格式,例如文本格式3:而且导入后将EXCEL每列的空格都导入了,怎么去掉这些空格?非常谢谢!

解决方案 »

  1.   

    问题1,指手动设置了DataGrid的列标题,它就不会显示数据了,即使你把列标题去掉,它也不会显示,除非你把它删除,再添加另一个(到现在我也不明白是什么原因,可能是Bug)问题2,那个不是DataGrid的问题,即使换成 MSHFlexGrid控件,有的数据也不会显示出来,原因出在oRS上,那些同一列里不显示数据的地方,是因为oRS的值是空的,它从Excel里就没读到数据(虽然在Excel里的那个地方有数据)问题3,不大明白
      

  2.   

    问题2,我也不知道为什么读不到数据我测试的情况是这样:
    新建一个Excel,网里面写数字,保存,运行程序能正确显示,完了打开excel,修改 里面的部分数据为字符串类型,运行程序,那些字符串都读不出来再新建一个excel,里面全部写上字符串的数据,保存,运行程序也能正确显示,完了打开excel,把部分数据改为数字类型,运行程序就读不到那些数字了即使把Excel的数据格式全部设置为文本格式也读不出来
      

  3.   

    1:DATAGRID的格式不好怎么弄,如果指定了DATAGRID每列的格式,则导入时能出现要导入的记录数(行数),但每列里的记录都是空的,没有数据显示,例如EXCEL里有10行,则导入后DATAGRID里确实有11行(带我指定的DATAGRID的表头),但每行都没有显示
    //在datagrid属性页设置列头的同时,把这列recordset的列名写进去就可显示2:如果不指定DATAGRID每列的表头,导入后,同一列有的能显示数据,有的不能,我已经在EXCEL表格里指定同一列的数据是同一种格式,例如文本格式
    //属性设置,建议不要设置datagrid 的列头,如果你一定要设置,用代码去设置3:而且导入后将EXCEL每列的空格都导入了,怎么去掉这些空格?
    //什么叫每列的空格?