0
最初我使用的是Office Interop导入数据,但这对我和我的电脑来说都是头痛的一半。现在我试图用ACE加载它,但我的数据网格没有被填充。一旦启动并运行,我需要知道如何以其他方式使用这些数据,以及如何从该DataSet中获取特定的数据单元。顺便说一下,我使用的是Visual Studio 2008。如何使用ACE OLEDB将Excel数据导入VB?
现在我有...
Public Function funcUpdate(ByVal sFileLoc As String) As Boolean
'Determine connection string properties
Dim dbProperty As String
If updFileExt = ".xlsx" Then
dbProperty = "Excel 12.0 Xml;HDR=No"
ElseIf updFileExt = ".xls" Then
dbProperty = "Excel 12.0;HDR=No"
Else
MessageBox.Show("FATAL: File type error on updater", "OHGAWDNO", MessageBoxButtons.OK, MessageBoxIcon.Error)
updateTerm()
Return False
End If
Dim dbConn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & updFile & ";Extended Properties=" & dbProperty & ";")
Dim dbCommand As New OleDb.OleDbDataAdapter("select * from [sheet1$]", dbConn)
Dim dtSet As New DataSet
Try
dbCommand.TableMappings.Add("Table", "ExcelTest")
dbCommand.Fill(dtSet)
Form1.DataGrid1.DataSource = dtSet.Tables(0)
Catch exlErr As Exception
Finally
dbConn.Close()
End Try
updateTerm()
End Function
数据集是否被正确填充? – YWE 2010-11-13 05:12:30
我真的不知道该怎么说。 – 2010-11-13 15:08:08
我删除了异常捕获,发现我的连接字符串(围绕文件名和属性没有“”)存在问题,但数据网格仍未被填充。 – 2010-11-13 15:10:24