Ich muss Daten von einem xls ziehen, ich muss auch den Benutzer in der Lage sein, den Speicherort der Datei ändern wird es. So schien eine OleDbConnection wie ein guter Anfang zu sein, und es war bis zur ersten verbundenen Zelle.Öffnen Sie eine Excel 2003-Kalkulationstabelle mit C#. Das installierbare ISAM konnte nicht gefunden werden. Ausnahme
Dies funktioniert für alle, aber die fusionierten Zellen:
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=F:\test.xls;Extended Properties=Excel 8.0;");
cmd.CommandText = "SELECT * FROM [Sheet$]";
cmd.Connection.Open();
fand ich, dass dieser Zugriff auf die fusionierten Zellen ermöglichen sollte:
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;");
Aber dann bekomme ich ein Installierbares ISAM nicht Ausnahme finden auf cmd.conn.open();
folgte ich dem Rat hier: http://support.microsoft.com/kb/209805
Und hier: Error: "Could Not Find Installable ISAM"
Kein Glück.
Ich bin offen für andere Möglichkeiten, Daten aus den xls zu ziehen. Oder, selbst wenn es einen Befehl gäbe, könnte ich auf den xls laufen, um die gezackten Zellen zu entfernen, die funktionieren könnten.
Wer dachte an diese schreckliche Syntax? – configurator
Ich musste es leicht ändern: OleDbConnection (@ "Provider = Microsoft.Jet.OLEDB.4.0; Datenquelle = F: \ test.xls; Erweiterte Eigenschaften = 'Excel 8.0; HDR = NEIN; IMEX = 1 '"); – NitroxDM
Vielen Dank für diese Antwort. –