« Sheet1 $ » je tente de lire un fichier tableur appelé Book1.xls
qui contient une feuille de calcul appelée Sheet1
Le moteur de base de données Microsoft Jet n'a pas pu trouver l'objet
Cependant, je reçois l'erreur suivante:
The Microsoft Jet database engine could not find the object 'Sheet1$'. Make sure the object exists and that you spell its name and the path name correctly.
Voici un extrait du code J'utilise:
Dim dt As DataTable = New DataTable()
Select Case fileExt
Case ".csv"
Dim reader As New CsvReader
dt = reader.GetDataTable(filePath)
Case ".xls", ".xlsx"
Dim oleDbConnStr As String
Select Case fileExt
Case ".xls"
oleDbConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2"""
Case ".xlsx"
oleDbConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filePath & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""
End Select
Using oleDbConn As OleDbConnection = New OleDbConnection(oleDbConnStr)
oleDbConn.Open()
Dim oleDbCmd As New OleDbCommand("SELECT * FROM [Sheet1$]", oleDbConn)
Dim oleDbDa As New OleDbDataAdapter(oleDbCmd)
oleDbDa.Fill(dt)
oleDbConn.Close()
End Using
End Select
Je ne comprends pas pourquoi le code ne peut pas trouver ma feuille de calcul. Pourquoi est-ce, et comment puis-je le résoudre?
Essayez une fois d'utiliser le chemin absolu: Data Source = C: \\ myexcel.xls; –
@AshwiniVerma 'filepath' est le chemin absolu parce que j'utilise' Server.MapPath() ' – Curt
visitez ce lien et essayez d'obtenir sheetname par programmation: http://forums.asp.net/t/1751143.aspx/1 –