IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[Excel]Recuperation du nom des colonnes


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut [Excel]Recuperation du nom des colonnes
    Bonjour à tous!
    Je suis actuellement en train de travailler sur l'import d'un fichier Excel.
    J'arrive à le parcourir et le lire sans aucun problème. Par contre, je dois récupérer le nom des colonnes de ce fichier! Ca fait un moment que je cherche et je n'ai pas trouvé comment faire!! Si quelqu'un a une petite idée je suis preneuse.

    Edit : J'utilise VSTO

    Merci d'avance

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,
    qu'appelles-tu "nom des colonnes" ? S'il s'agit d'un en-tête écrit dans le fichier (genre la première ligne en gras d'un tableau), Excel ne fait pas la différence ; si tu sais qu'à coup sûr le nom est inscrit sur telle ligne, c'est bon, sinon c'est mort, à moins de feinter du genre parcourir à partir de la ligne 1 et considérer la première cellule non vide comme l'en-tête...

  3. #3
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    En fait par nom de colonne j'entends le titre de la colonne! Par défaut sur Excel c'est A, B, C ....

    Sinon est-ce qu'il est possible de le faire avec OLEDB?

  4. #4
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par Clemsgc Voir le message
    Sinon est-ce qu'il est possible de le faire avec OLEDB?
    Oui. http://connectionstrings.com/excel
    Avec ODBC, aussi.

  5. #5
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    Bon j'ai un peu exploré tout ça et en gros aucun moyen de connaître le titre des colonnes que l'on a mis dans Excel, à part si on met celui-ci dans la première ligne?

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Citation Envoyé par Clemsgc Voir le message
    En fait par nom de colonne j'entends le titre de la colonne! Par défaut sur Excel c'est A, B, C ....
    Tu veux dire que tu peux renommer les noms A, B, C,... des colonnes sous Excel ? Ca alors !? Comment fais-tu ça ?!

    Citation Envoyé par Clemsgc Voir le message
    Bon j'ai un peu exploré tout ça et en gros aucun moyen de connaître le titre des colonnes que l'on a mis dans Excel, à part si on met celui-ci dans la première ligne?
    Effectivement, avec OldeDb (ou ODBC), les noms de colonnes sont celles de la première ligne d'une feuillle.

  7. #7
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    En fait je sélectionne ma colonne en entier et je lui donne un nom!
    Mais c'est vrai que ça ne me modifie pas vraiment le nom :S

    Par contre, avec VSTO si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maFeuille.Columns.ListNames();
    Plusieurs lignes s'insèrent en début de document et elles contiennent le nom des colonnes!

  8. #8
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Citation Envoyé par Clemsgc Voir le message
    En fait je sélectionne ma colonne en entier et je lui donne un nom!
    Oui, c'est une plage nommée.

    Citation Envoyé par Clemsgc Voir le message
    Par contre, avec VSTO si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maFeuille.Columns.ListNames();
    Plusieurs lignes s'insèrent en début de document et elles contiennent le nom des colonnes!
    D'après la doc :
    Citation Envoyé par ListNames, méthode
    Cette méthode colle la liste de tous les noms de la feuille de calcul qui ne sont pas masqués, en commençant au niveau de la première cellule de la plage.
    Cette méthode s'applique à une plage de cellules, mais je ne comprends pas vraiment comment se traduit ce que tu expliques. Pourrais-tu nous donner un exemple ?

  9. #9
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    Ah oui merci!! J'suis pas vraiment une pro du Excel

    En fait c'est assez simple, dans une appli Winform, je souhaite importer un fichier Excel, crée par l'utilisateur pour le mettre dans un dataGridView.
    Comme je suppose que l'utilisateur ne va pas forcément créer un fichier exactement semblable au dataGridView, je souhaite qu'il mette un nom pour chacune des colonnes. Le nom des colonnes doit concorder avec celles du dataGridView, si ce n'est pas le cas, le fichier n'est pas importé!!
    Mais bon avec ce que tu me dis, je me rend compte que la solution la "plus facile" pour un utilisateur ne connaissant pas Excel est de mettre le nom de ses colonnes dans la première ligne du fichier!

    Néanmoins si quelqu'un sait comme récupérer le nom des plages ça m'intéresse également!

  10. #10
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Citation Envoyé par Clemsgc Voir le message
    En fait c'est assez simple, dans une appli Winform, je souhaite importer un fichier Excel, crée par l'utilisateur pour le mettre dans un dataGridView.
    Comme je suppose que l'utilisateur ne va pas forcément créer un fichier exactement semblable au dataGridView, je souhaite qu'il mette un nom pour chacune des colonnes. Le nom des colonnes doit concorder avec celles du dataGridView, si ce n'est pas le cas, le fichier n'est pas importé!!
    Mais bon avec ce que tu me dis, je me rend compte que la solution la "plus facile" pour un utilisateur ne connaissant pas Excel est de mettre le nom de ses colonnes dans la première ligne du fichier!
    Ben tu peux récupérer un DataSet à partir du fichier Excel et générer automatiquement le DataGridView (noms des colonnes + lignes d'enregistrement).

    Citation Envoyé par Clemsgc Voir le message
    Néanmoins si quelqu'un sait comment récupérer le nom des plages ça m'intéresse également!
    Pour récupérer le nom des plages, il est possible d'interroger le dictionnaire des données concernant les tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    OleDbConnection cnx = new OleDbConnection();
    string dataSource = @"D:\Classeur1.xls";
    cnx.ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";", dataSource);
     
    cnx.Open();
    DataTable dt = cnx.GetSchema("tables");
    for (int i = 0; i < dt.Rows.Count; i++)
    {
        Console.WriteLine(dt.Rows[i].ItemArray[2].ToString());
    }
    cnx.Close();

  11. #11
    Membre averti
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création fichier Excel. Problème de nom des colonnes
    Par gnt.dev dans le forum Général Java
    Réponses: 1
    Dernier message: 31/01/2012, 11h51
  2. Recuperer le nom des onglets pour les mettre dans une colonne
    Par nico4566 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/03/2011, 18h23
  3. Export vers Excel avec les noms des colonnes
    Par JauB dans le forum AS/400
    Réponses: 7
    Dernier message: 04/02/2011, 10h18
  4. [VBA Excel] Listbox, nom des colonnes et couleur des lignes
    Par Tutures dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/03/2008, 17h24
  5. [SQL2005][SSIS] récupérer nom des colonnes fichier excel
    Par tehes dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/12/2007, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo