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 :

Exportation fichier excel, date oleaut illégale


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Par défaut Exportation fichier excel, date oleaut illégale
    Bonjour,

    Je cherche à exporter les enregistrements d'un fichier Excel vers une DataTable.
    Cela marche correctement, mais dès qu'il y'a une centaine d'enregistrements dans le fichier excel, l'erreur
    date oleaut illégale est générée.

    Voici le code de ma fonction :
    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
     
     Public Function GetDataTable(ByVal Colonne As String, ByVal Feuille As String)
     
            Try
                'ouverture connexion
                Me.open()
     
                'récupération des enregistrements 
     
     
                    _MonAdapter = New OleDbDataAdapter("select " & Colonne & " from " & Feuille, _MaConnexion)
     
     
                Try
                    'met à jours les lignes de _MonDataTable
     
                    _MonAdapter.Fill(_MonDataTable)
                Catch e As Exception
                    MsgBox(ex.Message)
                End Try
     
     
                'ferme la connexion
                Me.close()
                'destruction de l'objet
                _MonAdapter = Nothing
                _MonDataTableTaille = _MonDataTable.Rows.Count
     
                Return _MonDataTable
            Catch ex As Exception
                MsgBox("excel 4 " & ex.Message)
                Me.close()
                Return 0
            End Try
        End Function
    Quelqu'un a t' il déjà été confronté a ce problème ?

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,
    Personnellement je ne pense pas que se soit le nombre d'enregistrement qui pose problème mais un enregistrement en particulier qui aurait une date mal encodée.
    Deux solutions :
    1) trouver l'enregistrement qui pose problème et le corriger en espérant qu'il n'y en aie pas d'autre.
    2) Changer le type de colonne dans Excel de type date en type string et la tu ne devrais plus avoir de problème...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Par défaut
    Merci pour votre réponse rapide.

    L'erreur est effectivement du à une colonne contenant des dates,mais aussi en fonction du nombres d'enregistrements. J'avais essayé une ligne qui marchait afin d'en faire un jeux enregistrement. L'erreur n'est pas généré au delà de cent lignes.
    J'ai tout de même testé la deuxième solution que vous proposiez et effectivement l'erreur n'est plus générée.

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Il faut faire attention quand on importe un fichier Excel car de temps en temps la délimitation des lignes valides et non valides se passe mal.
    J'ai déjà eu le cas lors de l'import d'un fichier mal rempli, qu'il me considérait qu'il y avait 500 lignes alors que j'en comptais à peine que 450.
    Malheureusement il y avais des lignes "vide" après mais qui était en réalité remplie d'espace !!!
    Solution :
    Sélectionner toutes les lignes qu'il y avait après ce que je considérais être la dernière et faire un clique droit => Supprimer afin d'être sur qu'il n'y avait plus de crasse...

    Donc vérifie dans ton cas que la dernière ligne est bien celle que tu penses, qu'elle n'est pas vide et que du coup la transformation de la date vide pauserait problème...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Par défaut
    L' exception était générée du faite d'une mauvaise délimitation de la fin du fichier.
    En supprimant manuellement les dernières lignes , j'ai pu régler mon problème.

    Merci de votre aide.

  6. #6
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Content de t'avoir aidé
    N'oublie pas de cliquer sur le bouton résolu en bas de page.
    Bonne soirée.

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

Discussions similaires

  1. [AC-2010] Exporter fichier excel avec date dans le nom
    Par Logimar dans le forum Access
    Réponses: 2
    Dernier message: 27/03/2015, 20h47
  2. Export fichier Excel avec date du jour
    Par benidget dans le forum Cognos
    Réponses: 1
    Dernier message: 19/08/2011, 17h41
  3. Exporter fichier Excel vers XML
    Par ferrero dans le forum Format d'échange (XML, JSON...)
    Réponses: 12
    Dernier message: 11/05/2009, 18h01
  4. Exporter fichier Excel en .csv
    Par pierre.coudert dans le forum Windows
    Réponses: 7
    Dernier message: 27/02/2007, 13h45
  5. Réponses: 6
    Dernier message: 30/03/2006, 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