Ho bisogno di estrarre i dati da un xls, ho anche bisogno che l'utente sia in grado di cambiare il percorso del file. Quindi un OleDbConnection sembrava un buon inizio, ed è stato fino alla prima cella unita.Aprire un foglio di calcolo di Excel 2003 con C#. Impossibile trovare ISAM installabile. Eccezione
Questo funziona per tutti, ma le celle unite:
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();
ho trovato che questo dovrebbe consentire l'accesso alle celle unite:
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;");
Ma poi ho un Impossibile trovare eccezione ISAM installabile su cmd.conn.open();
ho seguito il consiglio qui: http://support.microsoft.com/kb/209805
E qui: Error: "Could Not Find Installable ISAM"
Nessuna fortuna.
Sono aperto ad altri modi di estrarre i dati dagli xls. O anche se ci fosse un comando che potrei eseguire su xls per rimuovere le celle mirate che potrebbero funzionare.
Chi ha pensato a questa orribile sintassi? – configurator
Ho dovuto cambiarlo leggermente: OleDbConnection (@ "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = F: \ test.xls; Proprietà estese = 'Excel 8.0; HDR = NO; IMEX = 1 '"); – NitroxDM
Grazie mille per questa risposta. –