cs_Caro2005
Messages postés15Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 septembre 2008
-
14 juin 2005 à 23:07
mlouiza
Messages postés9Date d'inscriptiondimanche 28 novembre 2010StatutMembreDernière intervention14 février 2011
-
31 janv. 2011 à 16:20
Bonjour,
Je souhaite importer des données situées dans une feuille Excel vers un DataTable. Pas de pb pour l'accès à ma feuille Excel, mais là où ça se complique c'est que je ne veux importer uniquement les données situées dans la colonne "Numero" qui peut être située n'importe où dans ma feuille.
Quelqu'un peut-il m'aider ? Merci.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 16 juin 2005 à 00:12
La requête "SELECT Numéro FROM [Feuil1$] WHERE Numéro<>NULL" devrait suffir
([Feuil1$] est la notation pour la feuille "Feuil1".)
Petit exemple vite fait :
OleDbConnection dbConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"");
OleDbCommand dbCommand = new OleDbCommand("SELECT Numéro FROM [Feuil1$] WHERE Numéro<>NULL", dbConn);
StringBuilder sbListeNumeros = new StringBuilder();
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 15 juin 2005 à 08:02
Salut,
Si tu utilises une chaîne de connexion de ce genre : "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
"HDR=Yes;" indique que la première ligne de la feuille contient les noms de colonne, ce qui te permettra de repérer la colonne en connaissant son nom au lieu de sa position.
cs_Caro2005
Messages postés15Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 septembre 2008 15 juin 2005 à 09:44
Je n'utilise pas de chaine de connexion de ce genre. Dans mon appli, l'utilisateur sélectionne un fichier XL et le traitement doit s'exécuter sur ce fichier.
cs_Caro2005
Messages postés15Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 septembre 2008 15 juin 2005 à 21:07
J'utilise la méthode open de Workbooks
ex: ThisApp.Workbooks.Open (fileName,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing)
où fileName correspond au nom de mon fichier XL.
Après j'ai essayé avec la classe Range
mais je n'arrive pas à récupérer uniquement le contenu des cellules dont j'ai besoin (cellules non vides et uniquement de la colonne "Numero").
cs_Caro2005
Messages postés15Date d'inscriptionmardi 14 juin 2005StatutMembreDernière intervention23 septembre 2008 15 juin 2005 à 22:18
J'ai réfléchi à ce que tu as écris précédemment. Je n'ai rien contre le fait d'attaquer mon fichier par une connexion oledb mais après comment je fais pour récupérer uniquement les données de la colonne "Numéro" de ma feuille XL ???