我正在导入一个excel文件并用内容填充数据集。这是我写的第一个函数:
Public Function ReadXLFile(ByVal FileName As String) As DataSet
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim Ds As System.Data.DataSet
Dim MyAdapter As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName & ";Extended Properties='Excel 8.0;HDR=YES;';")
MyAdapter = New System.Data.OleDb.OleDbDataAdapter("Select * from [Sheet1$]", MyConnection)
Ds = New System.Data.DataSet
MyAdapter.Fill(Ds)
Return Ds
End Function
我面临的问题是,对于某些单元格,数据集不会将值放入,并且它似乎适用于Excel工作表中的某些类型的突出显示。我在excel工作表中有一行突出显示橙色(或某些情况下为红色)。它不会读取第一列。例如,在excel表中它将具有
1234 Bob Jones 450 72
它将读取Bob Jones及其后的所有内容,但是第一个单元格1234,它将无法读取它,并且在数据集中该单元格保留为空白。对于未突出显示的行或未突出显示第一列的行,将完美读取数据。
其他信息: 我上传的文件是.xls文件,Microsoft Excel 97-2003。
答案 0 :(得分:0)
在此处设置连接字符串中的IMEX会很有帮助。检查Excel reading at YoursAndMyIdeas {发布它作为答案以及正确的答案标记和其他人的利益}