Zugriff auf Excel-Daten (.xlsx) ohne die Excel-Schnittstelle
Die Herausforderung:
Der Versuch, mit OleDbDataAdapter
und einer für Microsoft.Jet.OLEDB.4.0
und Extended Properties=Excel 8.0
konfigurierten Verbindungszeichenfolge auf Daten aus einer Excel-Datei (.xlsx) zuzugreifen, führt häufig zu der Fehlermeldung „Externe Tabelle hat nicht das erwartete Format“. Dies tritt normalerweise auf, wenn die Excel-Datei nicht bereits in der Excel-Anwendung geöffnet ist.
Die Lösung:
Um Daten nahtlos aus Ihrer XLSX-Datei zu lesen, ohne sie vorher in Excel zu öffnen, passen Sie die Parameter Ihrer Verbindungszeichenfolge wie folgt an:
<code class="language-csharp">public static string filePath = @"C:\src\RedirectApplication\RedirectApplication1s.xlsx"; public static string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=Excel 12.0;";</code>
Hier ist die Aufschlüsselung der entscheidenden Änderungen:
Microsoft.ACE.OLEDB.12.0
ist speziell für die Verarbeitung von Excel 2007 und späteren Dateiformaten (.xlsx) konzipiert.Excel 12.0
entspricht dem Dateiformat von Excel 2007 und späteren Versionen.Durch die Implementierung dieser aktualisierten Verbindungszeichenfolge sollten Sie in der Lage sein, direkt auf Ihre Excel-Daten zuzugreifen, ohne dass der Fehler „Externe Tabelle hat nicht das erwartete Format“ auftritt.
Das obige ist der detaillierte Inhalt vonWie lese ich Excel-Dateien (.xlsx), ohne sie in Excel zu öffnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!