Das Microsoft Jet-Datenbankmodul konnte das Objekt nicht finden 'Tabelle1$'
Bin ich zu Lesen versuchte, eine spreadsheet-Datei namens Book1.xls
enthält ein Arbeitsblatt namens Sheet1
Aber ich bin immer der folgende Fehler:
Microsoft Jet-Datenbankmodul konnte das Objekt nicht finden 'Tabelle1$'.
Stellen Sie sicher, dass das Objekt existiert und dass Sie buchstabieren seinen Namen und den Pfad
Namen richtig.
Hier ist ein Ausschnitt von dem code, den ich verwende:
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
Ich kann nicht verstehen, warum der code nicht finden können, mein Arbeitsblatt. Warum ist das so und wie kann ich es beheben?
- versuchen Sie es einmal mit absoulte Pfad: Daten Source=C:\\myexcel.xls;
filepath
ist der absolute Pfad, da ich mitServer.MapPath()
- besuchen Sie diesen link und versuchen Sie, sheetname durch Programmierung: forums.asp.net/t/1751143.aspx/1
- Hast du das problem lösen?
- Ja die Datei nicht gespeichert in der richtigen Lage. stackoverflow.com/a/10139665/370103, erwartete ich eine andere Fehlermeldung für dieses Szenario aber! Vielen Dank für deine Hilfe trotzdem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe das problem gefunden.
Scheint es, die Tabellenkalkulation wurde gespart an den falschen Ort, so
filepath
war nicht deutete auf eine Datei, die vorhanden ist.Ich nicht überprüfen, diese auf den ersten, weil ich davon ausgegangen eine andere Fehlermeldung erscheinen würde. So etwas wie "Book1.xls konnte nicht gefunden werden". Aber es scheint, wie wenn es nicht vorhanden ist, dann wird die Nachricht nur, dass Sie es nicht finden können das Arbeitsblatt.
Wenn die Datei-Namen der zusätzliche Punkt-Zeichen wie unten:
nächsten select-Anweisung:
mit connection string:
fehl, mit der Ausnahme:
Auch - stellen Sie sicher, dass Sie nicht haben, die Datei öffnen, in Excel schon. Sie werden nicht in der Lage, die Datei zu Lesen, wenn Sie offen irgendwo sonst. Ich hatte den gleichen Fehler und erkannte, ich hatte die Datei in Excel öffnen.
Nicht sicher, ich habe einige ähnliche code (C#), die gut funktioniert...
Vielleicht können Sie vor Ort einen Unterschied?
Versuchen Sie das umbenennen der Platte; oder explizit hinzufügen von Spalten; oder prüfen, ob es groß-und Kleinschreibung.
Ändern Sie Ihre Excel-Datei Lage, diese Fehler werden behoben.
vielleicht legen Sie Ihre Datei in dem gleichen Ordner, wo Ihre Quelle vorhanden
beste Lösung in vb codiert von diesem link, alle Kredite an diese Leute-
http://www.vbforums.com/showthread.php?507099-data-from-excel-sheet-to-datagrid-(vb)
C# voraussichtlich Meine Lösung unten