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

VB.NET Discussion :

Import Excel to Dataset


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut Import Excel to Dataset
    Bonjour,

    J'ai le problème suivant:

    Je charge une feuille EXCEL dans un DATASET en VB.NET. Voici un bout de code qui montre comment je procède:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Conn1.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & TextBox1.Text & ";Extended Properties=Excel 8.0;"
    Cmd.CommandText = "SELECT * FROM [" & ListBox1.Items(ListBox1.SelectedIndex) & "$]"
    Cmd.Connection = Conn1
    DataAdapt1 = New OleDbDataAdapter(Cmd)
    DataAdapt1.Fill(Dataset1)
    Ça fonctionne mais... Si dans une colonne de ma feuille se trouvent des données alphanumériques et numériques, les données numériques ne sont pas prises. Le fichier EXCEL ne peut être modifier car l'accès est en read-only et la quantité d'information (lignes et colonnes) du fichier EXCEL est variable. Y a-t-il un moyen de convertir toutes les données en type string lors du transfert en EXCEL et DATASET?

    Merci.

  2. #2
    Membre expérimenté Avatar de anonymousse
    Profil pro
    Inscrit en
    Février 2011
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 130
    Par défaut
    bonsoir,

    conversion avec CStr non ?

    http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx

    sinon, est-ce que ce n'est pas un problème de "," ou de "." dans tes formats numériques ?

  3. #3
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut en-tete de colonnes manquantes
    bonjour
    Mets des en-tetes de colonnes dans tes feuilles (libelles de colonnes) pour qu'il traite en chaine (string) le contenu de tes colonnes.
    Sans les en-tetes de colonnes si par exemple dans la feuille en cours on a :
    -colonne 5 ,1ere ligne commence par 155,55
    -toute la colonne sera reconnue chiffre et si plus bas il y des caracteres il seront ignores (caractere vide ou "").

    Par contre si les colonnes ont des en-tetes Alpha ou Alphanumeriques toutes les colonnes seront traites au format standard excel et reconnues correctement.
    Alors les en-tetes,svp...
    bon code......

  4. #4
    Membre confirmé
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut
    Bonjour anonymousse et MABROUKI,

    Merci pour vos réponses.

    conversion avec CStr non ?
    J'avais déjà essayé mais sans résultat. CStr n'est pas reconnu dans la requête SQL.

    Mets des en-tetes de colonnes dans tes feuilles (libelles de colonnes) pour qu'il traite en chaine (string) le contenu de tes colonnes.
    Malheureusement, toutes mes colonnes ont déjà des entêtes en alphanumérique. Les colonnes sont bien reconnues en string mais les valeurs numériques du fichier Excel ne sont pas importées. L'import refuse de convertir le numérique d'Excel en alphanumérique. Ce qui m'étonne mais bon...

    Un autre idée?

    Merci.

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,
    Essai avec ceci, "HDR=YES" avec entêtes, "IMEX= 2" lecture/écriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Conn1.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & TextBox1.Text & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX= 2;"""
    Hervé.

  6. #6
    Membre confirmé
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut
    Bonjour Hervé,

    Merci pour ta réponse. Ça ne fonctionne pas avec "IMEX=2".
    Mais c'est parfait avec "IMEX=1".
    Les champs numériques sont passés en alphanumériques.

    Grace à toi j'ai pu trouver ceci sur le net:
    "IMEX=1;" tells the driver to always read "intermixed" (numbers, dates, strings etc) data columns as text. Note that this option might affect excel sheet write access negative.
    Merci et bonne journée.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2011, 09h47
  2. importation excel vers dataset
    Par youssef222 dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/06/2010, 14h01
  3. Erreur d'import Excel -> Delphi
    Par Homer dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 05/07/2004, 10h07
  4. Import Excel / CSV
    Par aston_max dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 04/07/2004, 23h31
  5. import Excel --> Stringgrid de Delphi
    Par Homer dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2004, 12h53

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