Si vous le faites manuellement, téléchargez LibreOffice et utilisez LibreOffice Calc pour importer votre fichier CSV. Il fait un bien meilleur travail que n'importe quelle version d'Excel que j'ai essayée, et il peut enregistrer au format XLS ou XLSX si vous avez besoin de transférer vers Excel par la suite.
Mais si vous êtes coincé avec Excel et que vous avez besoin d'une meilleure solution, il semble qu'il y ait un moyen. Il semble que cela dépende de la locale (ce qui semble idiot, à mon humble avis). Je n'ai pas Excel 2007, mais j'ai Excel 2010, et l'exemple donné :
ID,Name,Description
"12345","Smith, Joe","Hey.
My name is Joe."
ne fonctionne pas. Je l'ai écrit dans le Bloc-notes et j'ai choisi Enregistrer sous..., et à côté du bouton Enregistrer, vous pouvez choisir l'encodage. J'ai choisi UTF-8 comme suggéré, mais sans succès. Le remplacement des virgules par des points-virgules a fonctionné pour moi. Je n'ai rien changé d'autre, et ça a marché. J'ai donc modifié l'exemple pour qu'il ressemble à ceci, et j'ai choisi l'encodage UTF-8 lors de l'enregistrement dans le Bloc-notes :
ID;Name;Description
"12345";"Smith, Joe";"Hey.
My name is Joe."
Mais il y a un hic ! Cela ne fonctionne que si vous double-cliquez sur le fichier CSV pour l'ouvrir dans Excel. Si j'essaie d'importer des données à partir d'un texte et que je choisis ce CSV, il échoue toujours sur les nouvelles lignes citées.
Mais il y a autre attraper ! Le séparateur de champ utilisé (virgule dans l'exemple original, point-virgule dans mon cas) semble dépendre des paramètres régionaux du système (définis dans Panneau de configuration -> Région et langue). En Norvège, la virgule est le séparateur décimal. Excel semble éviter ce caractère et lui préférer le point-virgule. J'ai accès à un autre ordinateur réglé sur les paramètres régionaux anglais du Royaume-Uni, et sur cet ordinateur, le premier exemple avec un séparateur à virgule fonctionne bien (uniquement sur doubleclick), et celui avec un point-virgule échoue en fait ! Voilà pour l'interopérabilité. Si vous souhaitez publier ce CSV en ligne et que les utilisateurs disposent d'Excel, je suppose que vous devez publier les deux versions et suggérer aux utilisateurs de vérifier quel fichier donne le nombre correct de lignes.
Voici donc tous les détails que j'ai pu rassembler pour que cela fonctionne :
- Le fichier doit être enregistré en UTF-8 avec une nomenclature, ce que fait le Bloc-notes lorsque vous choisissez UTF-8. J'ai essayé UTF-8 sans nomenclature (on peut changer facilement dans Notepad++), mais le double-clic sur le document échoue.
- Vous devez utiliser une virgule ou un point-virgule comme séparateur, mais pas celui qui est le séparateur décimal dans vos paramètres régionaux. Il se peut que d'autres caractères fonctionnent, mais je ne sais pas lesquels.
- Les champs contenant une nouvelle ligne doivent être précédés du caractère ".
- J'ai utilisé les fins de ligne de Windows ( \r\n ) à la fois dans le champ de texte et comme séparateur d'enregistrements, cela fonctionne.
- Vous devez double-cliquer sur le fichier pour l'ouvrir, l'importation de données à partir d'un texte ne fonctionne pas.
J'espère que cela aidera quelqu'un.