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

Windows Forms Discussion :

Importation donnée Excel vers SQL Server


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Points : 70
    Points
    70
    Par défaut Importation donnée Excel vers SQL Server
    Bonjour à tous,

    J'ai un fichier Excel dans lequel j'ai plusieurs lignes que je voudrais mettre dans un dataSet.

    J'ai donc utilisé ce code là pour le faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    dstTmp = new DataSet();
     
      xConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + "Extended Properties=Excel 8.0;";
     
    using (OleDbConnection conn = new OleDbConnection(xConnStr))
    {
            using (dataAdapter = new OleDbDataAdapter("select * from [Feuil1$]", conn))
            {
                   dataAdapter.Fill(dstTmp);
            }
    }
    Ce code fonctionne bien, mais là je suis sur un cas très bizarre, mon fichier Excel comporte 4 lignes avec une dizaine de colonnes et pour la derniere ligne il ne prend pas le contenu d'une cellule....J'ai essayé de refaire mon fichier Excel, mais rien n'y fait, je voit pas pourquoi il ne prend pas le contenu de ma cellule.

    Je suis sous Excel 2000.

    Merci de votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Quel est le type de ta cellule?

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Points : 70
    Points
    70
    Par défaut
    Mes cellules sont de type Texte

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    et le contenu?
    Un exemple de la ligne... peux aider a resoudre ton probleme

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Points : 70
    Points
    70
    Par défaut
    Voici une de mes lignes :

    XX 261569 | ABONNEMENT | 63 | 2611 | | | | | 44.00
    XX 261263 | COMPLEMENT | 63 | 2612 | | | | |144.00

    J'ai mis un | pour delimiter les colonnes.

    Dans cet exmple là, mon code ve va pas recuperer la valeur 2612...

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    et il prends la valeur 2611 ????

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Points : 70
    Points
    70
    Par défaut
    Oui il prend la valeur 2611 mais pas la 2612 je ne comprend pas sachant que toutes les cellules ont le meme type

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Points : 70
    Points
    70
    Par défaut
    C'est bon j'ai trouvé la solution, j'ai recréé un fichier excel vide et retaper a la main les valeurs et c'est bien passé.

    En fait, dans le fichier qui marchait pas, la cellule dont je n'arrivais pas a récupérer la valeur, il m'était impossible de modifier le type de la cellule.

    J'avais beau lui mettre le type monétaire, heure, date , nombre rien ne se passait sur la cellule.

    Quelqu'un a t il déjà eu des problèmes pour modifier le type du cellule ?

    Merci

  9. #9
    Membre averti
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par exile69 Voir le message
    Quelqu'un a t il déjà eu des problèmes
    avec excel comme source de donnée ? oui, pleins ^^

    Excel est hyper pratique sur bien des points, mais ce code que tu utilises, et qui marche tres bien dans 95% des cas, deviens une horreur à gerer dès qu'il y a des erreurs de saisie etc....

    D'ailleurs ton dataset dstTmp n'est pas fortement typé et le typage des colonnes est parfois etrange quand le contenu des lignes n'est pas 100% correct:
    exemple classique un chiffre rentré avec un [espace] va etre interprété comme un texte et influencer le typage de la colonne et eventuellement te sortir des erreurs sur les cast etc....

    ca peut se gerer mais il vaut mieux etre prévenu et prevoir un grosse gestion d'erreur et un bon logging...

    (eventuellement un traitement par SSIS est surement plus adapté suivant ce que tu fais au final)
    Ex Moderateur .Net

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

Discussions similaires

  1. Importation de Excel vers sql Server
    Par eddyphan dans le forum VB.NET
    Réponses: 1
    Dernier message: 22/05/2011, 15h48
  2. Réponses: 2
    Dernier message: 11/11/2009, 18h45
  3. importation données excel vers sql server2005
    Par ERIC49 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 24/05/2007, 15h19
  4. Réponses: 5
    Dernier message: 19/03/2007, 16h21
  5. Exportation données excel vers sql server 2005, en ASPX?
    Par Micke7 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/01/2007, 14h57

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