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 :

dialogue Excel cSharp


Sujet :

C#

  1. #21
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Je vas zessayer

    Mais je vois que pour le coup tu utilise

    Microsoft.Jet.OLEDB.4.0
    C'est pas obolete par rapport a ADO ?

  2. #22
    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 olibara Voir le message
    Mais je vois que pour le coup tu utilise Microsoft.Jet.OLEDB.4.0.
    C'est pas obsolète par rapport a ADO ?
    Le fournisseur Jet est déprécié par Microsoft, mais MS ne donne pas d'autre méthode pour se connecter à un fichier Excel avec ADO.NET (à ne pas confondre avec ADO)...

  3. #23
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci Skalp

    On ne peut pas dire que tout cela soit d'une limpidité éclatante

    Mais l'article que tu a cité pour ADO.NET devrait me donner quelques lumiere

  4. #24
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Quel M.... ce truc

    Meme l'exemple que tu m'a envoyé (le dernier) est Mauvais et pourtant ca vient direct de Microsoft !

    Mais du coup OUF ! ca marche avec un code relativement simple !!

    La bonne syntaxe c'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Crée une nouvelle commande OleDbCommand pour renvoyer les données de la feuille de calcul.
    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM maPlage1", objConn);
    Mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Crée une nouvelle commande OleDbCommand pour renvoyer les données de la feuille de calcul.
    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [maPlage1$]", objConn);

  5. #25
    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
    Mais je t'avais donné tout le code !
    Citation Envoyé par Skalp Voir le message
    Ca donne quelque chose dans le même esprit, avec un fichier Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    OleDbConnection cnx = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Classeur1.xls;Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";");
    OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Feuil1$]");
    cmd.Connection = cnx;
     
    cnx.Open();
    OleDbDataReader reader = cmd.ExecuteReader();
    if (reader.HasRows)
    {
        while (reader.Read())
        {
            // Ici, tu récupères tes valeurs...
            // Par exemple :
            Console.WriteLine(reader.GetString(0) + reader.GetString(1));
        }
    }
    reader.Close();
    cnx.Close();
    Ici, j'interroge la feuille Feuil1 du fichier Excel suivant D:\Classeur1.xls.
    Tu n'as pas vu ? Tu as préféré te faire du mal et galérer à trouver tout seul ?

  6. #26
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    +1

    Ben oui

    J'ai des yeux devant et des yeux derrierre

    Et c'est pas toujours Synchro !
    J'ai plongé sur le lien que tu avait ajouté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    se connecter à un fichier Excel avec ADO.NET
    En ne regardant plus ton code qui était le bon !

    En tout cas ca marche !!


    Merci Skalp !

  7. #27
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut
    une soluce qui m'a fait galérer mais dont un internaute à trouver la soluce pour les pb de culture excel et windows :

    Magique :-)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // handles all exception for MS Excel culture
                // resolve pb relative to XP set to french and Excel set to english
                Hashtable ExcelLangue = new Hashtable
                    (System.Globalization.CultureInfo.GetCultures
                    (System.Globalization.CultureTypes.AllCultures).Length - 1);
                foreach (System.Globalization.CultureInfo ExcelCulture
                    in System.Globalization.CultureInfo.GetCultures
                    ((System.Globalization.CultureTypes.AllCultures)))
                {
                    ExcelLangue.Add(ExcelCulture.LCID, ExcelCulture.Name);
                }
                System.Threading.Thread.CurrentThread.CurrentCulture =
                    System.Globalization.CultureInfo.CreateSpecificCulture
                    (ExcelLangue[XlsFile.LanguageSettings.get_LanguageID
    (Microsoft.Office.Core.MsoAppLanguageID.msoLanguageIDUI)].ToString());

  8. #28
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut Petit Bug dans la class ExcelReader
    Tout d'abord un grand merci à Skalp pour ce projet bien util

    J'ai cependant relevé un petit bug dans la méthode GetWorksheet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            private _Worksheet GetWorksheet(string WorksheetName)
            {
                foreach (_Worksheet Worksheet in this.m_Workbook.Worksheets)
                {
                    if (Worksheet.Name == WorksheetName)
                    {
                        this.m_Worksheet = Worksheet;  
                             // <--- Il faut définir la feuille courante, 
                             // sinon la ligne suivante plante
                        
                        this.SetWorksheetAttributes();
                        return Worksheet;
                    }
                }
                return (_Worksheet)this.m_Workbook.ActiveSheet;
            }
    Il est nécessaire de définir la feuille active avant d'appeler SetWorksheetAttributes

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Afficher une boite de dialogue Excel via une macro
    Par SebastienM dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/01/2009, 09h36
  2. boite de dialogue excel automatique
    Par marinef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2008, 13h47
  3. Feuille de dialogue Excel
    Par GreatDeveloperOnizuka dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/07/2008, 22h45
  4. Comment utiliser une boite de dialogue Excel ?
    Par mamou30 dans le forum Delphi
    Réponses: 6
    Dernier message: 18/06/2007, 00h24
  5. [VBA] Paramètres boite de dialogue Excel
    Par seb.kepka dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/01/2006, 11h19

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