C# Importation feuille Excel vers un DataTable

Résolu
cs_Caro2005 Messages postés 15 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 23 septembre 2008 - 14 juin 2005 à 23:07
mlouiza Messages postés 9 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 14 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.
A voir également:

8 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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();

dbCommand.Connection.Open();
OleDbDataReader dbDR = dbCommand.ExecuteReader();

while ( dbDR.Read() )
{
sbListeNumeros.Append(dbDR["Numéro"]);
sbListeNumeros.Append(";");
}

dbCommand.Connection.Close();

MessageBox.Show(sbListeNumeros.ToString());

Cocoricoooooooo !!!!
coq
MVP Visual C#
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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.

Cocoricoooooooo !!!!
coq
MVP Visual C#
cs_Caro2005 Messages postés 15 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 23 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_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 juin 2005 à 19:57
Ah et donc comment tu le lis ton fichier xls ?

Cocoricoooooooo !!!!
coq
MVP Visual C#

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Caro2005 Messages postés 15 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 23 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_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 juin 2005 à 21:46
Ah donc oui tu n'attaques pas le fichier comme si c'était une base de données.
Là je n'y connais absolument rien dsl

Cocoricoooooooo !!!!
coq
MVP Visual C#
cs_Caro2005 Messages postés 15 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 23 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 ???
mlouiza Messages postés 9 Date d'inscription dimanche 28 novembre 2010 Statut Membre Dernière intervention 14 février 2011
31 janv. 2011 à 16:20
svp liste des using et refferences à utiliser
merci
Rejoignez-nous