À l'origine j'utilisais Office Interop pour importer des données, mais c'était un mal de tête et demi pour moi et mon ordinateur. En ce moment j'essaye de le charger avec ACE, mais ma grille de données n'est pas remplie. Une fois que c'est opérationnel, j'ai besoin de savoir comment utiliser ces données d'autres façons, et comment saisir des cellules spécifiques de données à partir de ce DataSet. J'utilise Visual Studio 2008, au fait.Comment utiliser ACE OLEDB pour importer des données Excel dans VB?
En ce moment, j'ai ...
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
L'ensemble de données est-il correctement rempli? – YWE
Je ne sais pas trop comment le dire. –
J'ai supprimé la capture d'exception et trouvé qu'il y avait un problème dans ma chaîne de connexion (pas de "" autour du nom de fichier et des propriétés), mais la grille de données n'est toujours pas remplie. –