J'ai besoin de tirer des données d'un xls, j'ai également besoin que l'utilisateur soit capable de changer l'emplacement du fichier qu'il le fera. Donc, une OleDbConnection semblait être un bon début, et c'était jusqu'à la première cellule fusionnée.Ouvrez une feuille de calcul Excel 2003 avec C#. Impossible de trouver l'ISAM installable. Exception
Cela fonctionne pour tous, mais les cellules fusionnées:
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();
Je trouve que cela devrait permettre l'accès aux cellules fusionnées:
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;");
Mais je reçois un Impossible de trouver le installable exception ISAM sur cmd.conn.open();
J'ai suivi les conseils donnés ici: http://support.microsoft.com/kb/209805
Et ici: Error: "Could Not Find Installable ISAM"
Pas de chance.
Je suis ouvert à d'autres façons de tirer des données de la xls. Ou même s'il y avait une commande je pourrais courir sur les xls pour enlever les cellules mirées qui pourraient fonctionner.
Qui pensait à cette syntaxe épouvantable? – configurator
J'ai dû le modifier légèrement: OleDbConnection (@ "Fournisseur = Microsoft.Jet.OLEDB.4.0; Source de données = F: \ test.xls; Propriétés étendues = 'Excel 8.0; HDR = NO; IMEX = 1 '"); – NitroxDM
Merci beaucoup pour cette réponse. –