Wie zu Lesen ein .XLSX (Excel 2007) - Datei verwenden ADO.NET? Ich bin auf der Suche nach "installierbares ISAM nicht gefunden"-Fehler
Ich muss arbeiten .net 2.0
. Also ich kann nicht mit OpenXML.
Dies ist mein Quellcode und ich habe bereits Installiert AccessDatabaseEngine.exe
.
Aber noch immer die Ausnahme:
"Installierbares ISAM nicht gefunden".
Habe ich auch schon versucht "Extended Properties=Excel 8.0"
in der Verbindungszeichenfolge.
static void Main(string[] args)
{
DataSet dataSet = new DataSet();
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|Data Directory|\HSC.xlsx;Extended Properties=Excel 12.0;HDR=YES;");
OleDbDataAdapter dataAdapter= new OleDbDataAdapter("select * from [Sheet1$]", connection);
dataAdapter.Fill(dataSet);
}
InformationsquelleAutor user366312 | 2010-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach Carl Prothman, das sollte
-- http://www.connectionstrings.com/excel-2007
Im detail:
Beachten Sie die einfachen Anführungszeichen.
HDR=YES;'
oder ich bekam die Fehlermeldung "das format der Initialisierungszeichenfolge entspricht nicht der OLE DB-Spezifikation"InformationsquelleAutor Fionnuala
Lieber benutze ich das Microsoft OpenXML 2.0 SDK für diese Art von Funktionalität. Es hat eine wirklich schöne Oberfläche, und es nicht tut, eine Nachfrage auf dem Office installiert ist auf der Maschine Lesen Sie die XLSX-Datei-das ist eine gute Sache.
Ich Schreibe dies von meinem Handy, so hart, um einen link zu geben, aber eine Google-Suche sollte leicht zu finden es für Sie.
Geben, es zu versuchen. Ich denke, Sie werden es mögen.
BEARBEITEN
Wenn Sie haben zu verwenden .NET 2.0, kann man mit der JET-Variante der
OleDb
statt.Das bedeutet, dass Sie etwas tun, wie diese zu verbinden:
Dann können Sie die Abfrage wie in deinem Beispiel oben:
Probieren Sie es aus! Beachten Sie, dass nur
Jet
haben einige seltsame Logik der Entscheidung, ob eine Spalte numerisch ist oder nicht. Sehen Sie die folgenden Fragen für details: Problem mit der OleDbDataAdapter-Objekt zum abrufen von Daten aus einem Excel-BlattInformationsquelleAutor Øyvind Bråthen
Ues stellen Sie sicher, dass der connection-string sieht wie folgt aus ( auch wenn Sie Zugriff auf microsoft excel, version 10 ->
InformationsquelleAutor Deena Fadel Awny