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

Développement Office System .NET Discussion :

Besoin d'avis pour une solution Excel / C# / .NET


Sujet :

Développement Office System .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Points : 56
    Points
    56
    Par défaut Besoin d'avis pour une solution Excel / C# / .NET
    Salutation =)

    Féru développeur depuis pas mal d'années, je suis entré dans ma nouvelle boîte (une petite startup) qui manque cruellement d'automatisation dans ces processus.
    Donc j'aimerai y remédier et j'aimerai aussi dans la foulé me faire la main sur de nouvelles technos que je ne connais pas encore. (Je suis assez libre ^^)

    Actuellement le travail principal s'effectue via des fichiers Excels. Les données sont rentrées dedans et des boutons (codés en Visual Basic) lisent ces données pour en générer d'autre au sein du même fichier Excel.

    Après quelques recherches j'ai pu voir que les perf' du visual basic laissent à désirer (notamment en POO), je me penche alors sur du C# pour remplacer le Visual Basic (meilleure perf', plus de ressources à disposition ...). De plus, je vois souvent sur la toile le C# couplé avec le framework .NET.

    Donc la encore, je ne ferai que remplacer le code existant, mais plus tard j'aimerai mettre en place une base de données (genre MySQL) pour recueillir les données d'Excel idéalement en cliquant sur un bouton depuis le fichier. (c'est peut être à ce moment la que le framework me sera utile)

    Bon je ne m'étale pas plus. Mon post est ici pour recueillir vos avis, est-ce une bonne idée de switcher du visual basic vers le C# ? Est-ce utile que je me penche sur le framework .NET dans mon cas ?
    Si oui, auriez vous quelques tutoriels à me conseiller ? (mêlant Excel / C# et, soyons fou, avec l'utilisation du framework)

    Je vous remercie, désolé pour le post un peu long =)

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 25
    Points
    25
    Par défaut
    bien entendu que le .NET/C# fera ton bonheur, c'est l'outil idéal pour ce que tu veux faire à mon sens

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 25
    Points
    25
    Par défaut
    un petit code pour extraire les données du fichier excel et pour les mettre dans un gridview

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    string chemin = Directory.GetCurrentDirectory() + "\\toto.xlsx"; //le chemin du fichier excel
                string extension = ".xlsx";
                string headersInclus = "Yes"; // pour préciser si les entetes sont les tetes de colonnes
                Import_To_Grid(chemin, extension, headersInclus);

    voici le code de la méthode Import_To_Grid

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    private void Import_To_Grid(string FilePath, string Extension, string isHDR)
            {
                try
                {
                    string conStr = "";
                    switch (Extension)
                    {
                        case ".xls": //Excel 97-03
                            conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
                            break;
                        case ".xlsx": //Excel 07
                            conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
                            break;
                    }
                    conStr = String.Format(conStr, FilePath, isHDR);
                    OleDbConnection connExcel = new OleDbConnection(conStr);
                    OleDbCommand cmdExcel = new OleDbCommand();
                    OleDbDataAdapter oda = new OleDbDataAdapter();
                    DataTable dt = new DataTable();
                    cmdExcel.Connection = connExcel;
     
                    //Get the name of First Sheet
                    connExcel.Open();
                    DataTable dtExcelSchema;
                    dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    string SheetName = dtExcelSchema.Rows[1]["TABLE_NAME"].ToString();
                    connExcel.Close();
     
                    //Read Data from First Sheet
                    connExcel.Open();
                    cmdExcel.CommandText = "SELECT * From [" + SheetName + "]";
                    oda.SelectCommand = cmdExcel;
                    oda.Fill(dt);
                    connExcel.Close();
                }
                catch (Exception ex)
                {
                }
     
            }
    une fois les données du fichier excel dans la datatable on peut tout faire avec.

    Espérant t'avoir aidé.
    Sinon merci de me donner plus de précision sur ce que tu veux;

    Bonne continuation

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    Merci pour ta réponse =)

    Ce que j'aimerai, ça sera de pouvoir me passer complètement du VBA et :
    - effectivement extraire les données excel pour les envoyer sur une bdd (et sans doute plus tard pouvoir faire le chemin inverse)
    - faire en sorte que les boutons insérés dans le excel appellent du code C# (et non pas du VB)

    Donc pour traiter en dehors de l'Excel les données je visualise bien l'utilisation du C# / .NET .

    Par contre pour changer ces fameux boutons, là je coince malgré les quelques recherches googlesques.. Concrètement une personne remplit une page Excel puis clique sur un de ses fameux boutons, ce bouton appelle une procédure en VB et cela a pour effet de remplir automatiquement d'autres feuilles du fichier Excel. Ce que j'ai trouvé sur le web me semblait être un peu de la bidouille (et ayant du temps et une certaine liberté, j'aimerai vraiment développer à la propre x) )

    Peut être qu'il me faudrait rester en VB sur ces boutons internes, et passer en C#/.NET pour les questions d'export/import vers la BDD ? J'aurai bien aimé n'utiliser qu'un seul langage mais je n'ai peut être pas le choix..

    En espérant avoir été un peu plus clair =)

Discussions similaires

  1. Besoin d'avis pour une possible reconversion
    Par iksoN dans le forum Sujets
    Réponses: 7
    Dernier message: 17/09/2012, 21h59
  2. Besoin d'avis pour une requête
    Par tomtom- dans le forum Langage SQL
    Réponses: 10
    Dernier message: 15/06/2012, 17h11
  3. Besoin d'aide pour une formule excel.
    Par passio dans le forum Excel
    Réponses: 9
    Dernier message: 31/01/2012, 02h35
  4. Besoin d'aide pour une solution OCR
    Par Alabama dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 26/02/2010, 15h15
  5. Besoin d'avis pour une technologie avec SEAM
    Par cryosore dans le forum Autres
    Réponses: 1
    Dernier message: 24/04/2009, 18h11

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