代码如下:
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
Dim MyConnection As System.Data.OleDb.OleDbConnectionMyConnection = New System.Data.OleDb.OleDbConnection( _
      "provider=Microsoft.Jet.OLEDB.4.0; " & _
      "data source=C:\myData.XLS; " & _
      "Extended Properties=Excel 8.0;")
' Select the data from Sheet1 of the workbook.
MyCommand = New System.Data.OleDb.OleDbDataAdapter( _
      "select * from [Sheet1$]", MyConnection)DS = New System.Data.DataSet()
MyCommand.Fill(DS)
DataGrid1.DataSource = DtSet.Tables(0)
excel的内容如下:11 11 11 11
22 22 22 22
aa aa aa aa
33 33 33 33
可是通过datagride显示的时候确变成了11 11 11 11
22 22 22 22
null null null null
33 33 33 33请问这是为什么呀???

解决方案 »

  1.   

    先把Excel转换一下就可以(在数据前加一个单引号):Private Sub Form_Load()
        Dim xls As Object
        Set xls = CreateObject("excel.application")
        xls.Workbooks.Open "c:\test.xls"
        xls.Visible = True
        Dim i As Long
        Dim j As Long
        With xls.Workbooks(1).Sheets("Sheet1")
            For i = 1 To .UsedRange.Rows.Count
                For j = 1 To .UsedRange.Columns.Count
                    .Cells(i, j) = "'" & .Cells(i, j)
                Next
            Next
        End With
        xls.DisplayAlerts = False
        xls.ActiveWorkbook.Save
        xls.Quit
        Set xls = Nothing
    End Sub......