none
Lire un fichier Excel via vb.net RRS feed

  • Question

  • Bonjour,

    avant de me lancer dans le code j'aurais aimé avoir l'avis d'expert. J'ai une base Access que j'interroge, modifie, etc via un datagridview qui est lui-même alimenté par un DataSet.

    J'utilise VS2013.

    J'aimerais pouvoir lire un fichier excel via mon programme vb.net, j'ai vu que j'avais plusieurs possibilités pour ça : ADO.Net, automation, ...

    Que me conseillez-vous ?

    jeudi 18 août 2016 14:37

Réponses

Toutes les réponses

  • Bonjour,

    Je vous conseille d'utiliser l'assembly Microsoft interrop fourni avec Excel, tu peux trouver des explications plus détaillées ici

    Cordialement

    jeudi 18 août 2016 19:07
  • Bonjour,

    Excel peut également être une source de données ODBC mais dans ce cas, vous serez limité à Excel 97/2000. De plus, le format des données est très spécifiques. (faut pas imaginer pouvoir lier avec un classeur excel avec de la mise en page sophistiquée).

    Vous pouvez également dans Access lié le classeur Excel avec votre base de données.

    Mais de toutes façons; le mieux est de faire un export des données du fichier Excel dans votre base. Excel est un outil pour mettre en forme, calculer, simuler, etc. Ce n'est PAS une base de données.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 19 août 2016 06:28
  • Merci pour les réponses, sinon le but n'est pas d'exploiter Excel en tant que bdd, sinon je n'aurais pas fait de base Access mais d'alimenter cette base via des données issues d'Excel.

    Concrètement ce sont des services médicaux qui passent commande de fournitures sur un fichier Excel, j'aimerais rapatrier via VB.net ces différentes infos pour mettre à jour automatiquement la base de données qui porte sur le stock de matos biomédical.

    Je vais me renseigner sur Microsoft interrop. Merci :-)

    vendredi 19 août 2016 07:03
  • Re,

    OK, donc dans ce cas il vous faut un "lecteur" de fichier Excel. Interop peut faire l'affaire mais vous aurez alors besoin d'installer Excel sur le poste client et c'est un peu utiliser un 15 tonnes pour poster une carte postale.

    LE mieux ce sont les dlls qui permettent de lire simplement un fichier Excel comme NPOI, etc. (y'en a plein)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 19 août 2016 07:22
  • Excel est installé sur le poste client sinon, là-dessus y a pas de soucis. Les DLLs permettent de meilleures performances ?
    vendredi 19 août 2016 08:58
  • Ben avec Interop, quand vous l'utilisez, en réalité vous lancez Excel (et ses dizaine de Mo d'occupation mémoire)

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 19 août 2016 09:40
  • Bonjour,

    Je suis loin d'être un expert, mais comme il est plus facile de manipuler un fichier CSV qu'un classeur EXCEL, une solution de contournement est de demander à l'utilisateur de transformer la feuille EXCEL en fichier CSV

    C'est simple à expliquer

    J'utilise cette méthode car dans pas mal de mes logiciels je dois "sortir" les informations sous EXCEL

    Je fait plutôt un fichier CSV que l'utilisateur ouvre sans problème sous EXCEL ou autre tableur

    Cordialement

    SC  


    Cordialement SC

    mardi 13 septembre 2016 12:53