152 votes

Importation d'un fichier CSV avec des sauts de ligne dans Excel 2007

Je travaille sur une fonctionnalité permettant d'exporter les résultats de recherche vers un fichier CSV à ouvrir dans Excel. L'un des champs est un champ de texte libre, qui peut contenir des sauts de ligne, des virgules, des citations, etc. Pour éviter cela, j'ai placé le champ entre guillemets (").

Toutefois, lorsque j'importe les données dans Excel 2007, que je définis le délimiteur approprié et que je fixe le qualificateur de texte à un guillemet double, les sauts de ligne créent toujours de nouveaux enregistrements à ces endroits, alors que je m'attendrais à voir l'intégralité du champ de texte dans une seule cellule.

J'ai également essayé de remplacer CR/LF ( \r\n ) avec seulement CR ( \r ), et encore une fois avec seulement LF ( \n ), mais sans succès.

Quelqu'un d'autre a-t-il rencontré ce comportement et, si oui, comment l'a-t-il résolu ?

TIA,
-J

EDIT :
Voici un fichier rapide que j'ai écrit à la main pour reproduire le problème.

ID, nom, description
"12345", "Smith, Joe", "Hey.
Je m'appelle Joe."

Lorsque j'importe ce fichier dans Excel 2007, je me retrouve avec une ligne d'en-tête et deux enregistrements. Notez que la virgule dans "Smith, Joe" est traitée correctement. Ce sont les sauts de ligne qui posent problème.

-1voto

David Avikasis Points 446

Les sauts de ligne entre guillemets doubles sont parfaitement acceptables selon la norme CSV. L'analyse des sauts de ligne dans Excel dépend de la configuration du séparateur de liste dans le système d'exploitation :

  1. Windows : vous devez mettre la virgule comme séparateur de liste (Région et langue " Formats " Avancé) Source : https://superuser.com/questions/238944/how-to-force-excel-to-open-csv-files-with-data-arranged-in-columns#answer-633302

  2. Mac : Nécessité de changer la région en US (puis de modifier manuellement les autres paramètres en fonction de vos préférences) Source : https://answers.microsoft.com/en-us/mac/forum/macoffice2016-macexcel/line-separator-comma-semicolon-in-excel-2016-for/7db1b1a0-0300-44ba-ab9b-35d1c40159c6 (voir la réponse de NewmanLee)

N'oubliez pas de fermer complètement Excel avant de réessayer.

J'ai réussi à reproduire le problème et j'ai pu le résoudre en utilisant la méthode ci-dessus à la fois pour Max et pour Windows.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X