Первоначально я использовал 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
Я не совсем уверен, как это сказать. –
Я удалил исключение catch и обнаружил, что в моей строке подключения возникла проблема (нет «вокруг имени и свойств файла»), но дататуд еще не заполняется. –