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

C# Discussion :

passage a la ligne dans une cellule (fichier csv) [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Par défaut passage a la ligne dans une cellule (fichier csv)
    Bonjour,

    N'ayant pas trouver de solution a mon problème, je me tourne vers vous.

    J'ai développer une application en C# qui me permet d'extraire un certain nombre de données depuis un service Web. jusque la tout fonctionne à l'exception d'un petit détail.
    En effet, une fois que j'ai généré mon fichier csv, je dispose d'un champ "descriptif" qui contient une chaine de caractères qui se présente comme suit:

    ex: "Ceci est la chaine de caractères,\r\nsans passage à la ligne"

    Je ne vois pas comment faire pour que le passage à la ligne soit effectif.

    J'ai essayé différents morceaux de code pour essayer d'arriver à mes fins:
    Nom : Capture.PNG
Affichages : 2087
Taille : 7,8 Ko

    Serait-il possible que quelqu'un me débloque ?

    Cordialement,
    misterJ973

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Je ne voit pas trop ce que tu veux faire de tes données. En revanche, il faut bien séparer la partie affichage et la partie récupération. Si tu récupères "\r\n", je dirais qu'il serait préférable de le conserver et de le traiter par la suite dans ton affichage pour en faire ce que tu veux.

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    Bonjour,

    Déjà sache qu'il est préférable d'utiliser Environment.NewLine au lieu de '\r\n' en dur dans le code.
    Après je n'ai pas vraiment compris, ton fichier de base à des sauts de ligne que tu veux supprimer ? car c'est ce que suggère ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                resultat.Replace("\r\n", "<br/>");
    remplace la chaine de caractère "\r\n", par "<br/>"

    Cependant tu dis
    Je ne vois pas comment faire pour que le passage à la ligne soit effectif.
    Je comprends donc que tu veux en faite en sortie avoir les saut de ligne.

    Donc toi tu as =>
    "Ceci est la chaine de caractères,\r\nsans passage à la ligne"
    et tu voudrais =>
    "Ceci est la chaine de caractères,
    sans passage à la ligne"
    c'est bien ça ?
    mais ou ? dans ton csv ? dans une page web ? dans une texteBox winforms ? précise un peu plus ton contexte stp


    J@ck.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Par défaut
    Bonjour,

    D'abord, merci pour votre réactivité .

    J@ckHerror c'est effectivement ce que je souhaite obtenir.

    Pour un peu plus de contexte:
    J'extrais des données depuis un Web Service qui se nomme Jira. Il permet aux membres du projets dont je fais parti de suivre les demandes du client.
    J'arrive donc à réaliser un import de données vers mon bureau. Mon fichier .csv est donc généré. Dans l'un des champs de mon csv j'ai une partie qui va contenir une description dans laquelle j'ai effectivement les "\r\n".
    je souhaiterais comme j'ai pu le préciser dans mon premier post que le passage à la ligne soit effectif (qu'il y ai un passage a la ligne dans la cellule contenant la description en question).

    Dans un second temps je réalise un export de données vers une nouvelle instance de Jira (Jira Software). Il se trouve que les descriptions s'en retrouve condensées puisque j'ai quelque chose du type : "Ceci est la chaine de caractères,\r\nsans passage à la ligne".

    J'avais donc une idée qui consistait à effectuer ce passage lors de la génération de mon csv. Autrement dit, faire un traitement sur les "\r\n".

    Je ne sais pas si ça peut aider mais voila ce que j'obtiens comme fichier .csv:
    Nom : Capture1.PNG
Affichages : 2256
Taille : 27,8 Ko
    Je précise quand même que les  ne sont pas la par hasard, ils correspondent au caractère que j'utilise comme séparateur à la place du ";". il s'agit de "¤".

    Voila, j'espère avoir été un peu plus clair.
    Merci de revenir vers moi si des informations sont manquantes.

    Cordialement,
    misterJ973.

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    qu'il y ai un passage a la ligne dans la cellule contenant la description en question
    De quelle cellule parle tu ? dans excel ??? ou dans une datagridView ? ou autre ???

    Par contre la remarque de ZenZiTone est complètement valable, je te conseille dans le csv de conserver les \r\n et de ne les prendre en compte qu'au moment de l'affichage.

    Mais c'est d'ailleurs ce que je n'ai toujours pas compris, ou est ce que tu veux que ce saut de ligne soit visible ? si ta réponse est : "Dans le fichier .csv", on peut en débattre mais je pense que c'est une erreur.

    J@ck.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Par défaut
    Hello,

    Pardon de ne pas avoir précisé.je cherche a avoir ce saut de ligne visible dans la cellule qui contient ma description, qui se trouve dans mon .csv.

    Je cherche effectivement à ce que ce saut de ligne soit visible dans mon fichier .csv même si ce n'est pas la meilleure des solutions.

    J'ai bien pris en compte la remarque de ZenZiTone. Cependant, le soucis que cela me pose c'est que lors de l'importation .csv (option proposé par Jira SoftWare) les "\r\n" sont conservés. J'ai donc des descriptions condensées et autant dire que je ne trouve pas ça super .

    Cdlt,
    misterJ973.

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    Bonjour,

    Ok comme tu le sens, mais c'est vraiment étrange, au final dans ton .csv tu n'auras pas une ligne par enregistrement, pour moi que tu récupère des \r\n n'est pas si étrange, cela justement te permet d'avoir une ligne par enregistrement/élément. Un .csv n'a pas pour vocation d'être lut par un utilisateur, mais permettre une transmission de données... bref c'est ton choix tu dois avoir tes raisons mais vérifie bien que les traitements qui devront s'appliquer à ton .csv fonctionneront toujours.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       resultat.Replace("\r\n", "<br/>");
    te mettra des "<br\>" à la place des \r\n, c'est ce que tu veux ?

    à tu essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       resultat.Replace("\r\n", System.Environment.NewLine);

    J@ck.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Septembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 176
    Par défaut
    Bonjour,

    Si je comprend bien ce que tu veux (pas sur), tu cherche à ce que les sauts de ligne soient effectif lorsque ouvre ton csv dans Excel.
    Alors pour ça, c'est simple, il suffit qu'ils soient effectif dans le csv.

    Prenons un exemple de fichier csv.
    toto1;tata1;titi1
    titi2
    toto2;tata2;"tutu1
    tutu2"
    Sur la première ligne,'titi2' va aller à la ligne, dans la cellule sous 'toto1'.
    Sur la seconde ligne, 'tutu2' va aller à la ligne, dans la même cellule que 'tutu1', ce que tu cherche à faire si je ne m'abuse.

    Donc voilà, tu a 2 opérations à faire pour cela, faire des Environment.NewLine à la place des \r\n quand tu créé ton csv et encadrer ces chaines par des double-quote.

    Bonne continuation.

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

Discussions similaires

  1. [XL-2007] Passage a la ligne dans une cellule
    Par bercla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2014, 13h38
  2. OleDbCommand sur un fichier Excel - conserver les retour à la ligne dans une cellule
    Par rohstev dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 29/01/2014, 16h02
  3. [AC-2003] Saut à la ligne dans une cellule d'un fichier Excel
    Par radahm dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/06/2009, 10h22
  4. [CSS] Empecher le retour à la ligne dans une cellule
    Par pekka77 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/02/2009, 16h50
  5. [XSLT][>CSV]retour a la ligne dans une cellule d'un fichier csv
    Par ujoodha dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 09/07/2006, 12h08

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