7 votes

Encodage des exportations Excel CSV

D'après mes tests, Excel sur Mac, lorsqu'on lui demande d'enregistrer des données dans un fichier CSV, utilise l'encodage MacRoman. Mes questions sont les suivantes :

  1. Cela se produit-il toujours ou existe-t-il un paramètre qui le contrôle ?
  2. S'il y a un paramètre, y a-t-il un moyen de faire en sorte qu'il soit enregistré en UTF-8 ? Si ce n'est pas le cas, y a-t-il un moyen d'exporter un fichier Excel contenant des caractères qui ne sont pas en MacRoman en préservant ces caractères ?

10voto

Dims Points 529

J'ai trouvé que la chose la plus simple à faire était de laisser excel exporter en csv à sa manière, puis d'ouvrir un terminal et de faire ce qui suit :

iconv -t UTF8 -f MACROMAN < file.csv > file-utf8.csv

4voto

ghoppe Points 7682

J'ai trouvé un article de blog qui présente une solution Applescript à un problème similaire. Je l'ai adapté à vos besoins. Notez que je n'ai pas fait de citation correcte des valeurs des cellules ou autre chose, cela nécessitera quelques ajustements pour être plus robuste. Ce n'est pas non plus la solution la plus rapide d'après mes tests minimaux mais c'est un début.

La clé est write X to openFile as «class utf8»

tell application "Microsoft Excel"
    activate

    set outFile to (path of active workbook)
    set fileName to (name of active workbook)
    set outFile to (outFile & ":" & fileName & ".csv")
    set openFile to open for access file outFile with write permission
    set eof openFile to 0

    set lastCol to count of columns of used range of active sheet
    set lastRow to count of rows of used range of active sheet

    repeat with r from 1 to lastRow
        set rowStr to (value of cell r of column 1 of active sheet)
        repeat with c from 2 to lastCol
            set cellVal to (value of cell r of column c of active sheet)
            set rowStr to rowStr & "," & cellVal
        end repeat
        write rowStr & return to openFile as «class utf8»
    end repeat
    close access openFile    
end tell

2voto

dunos Points 121

Après avoir effectué un certain nombre de recherches sur ce sujet, je pense pouvoir affirmer sans risque que vous ne pouvez pas modifier l'encodage d'exportation. Cependant, ce que vous pouvez faire, c'est ajouter une étape à votre procédure d'exportation par laquelle, après avoir sauvegardé le csv sur le disque, vous pouvez l'ouvrir dans un éditeur de texte (j'ai utilisé Coda mais beaucoup d'autres peuvent le faire) et l'utiliser pour le sauvegarder en utilisant un autre encodage.

2voto

andilabs Points 759

Pourquoi ne pas simplement ouvrir le fichier créé dans TextEdit, puis utiliser cmd+shift+S pour enregistrer un double et choisir ensuite dans la liste déroulante UTF-8 ?

enter image description here

Le grand avantage est que vous ne devez pas connaître explicitement l'encodage créé par Excel comme dans la méthode proposée par Bart. Pour ma langue (polsih) ce n'était pas Macroman, mais une variation de celui-ci.

0voto

Lars Points 1

Utilisez simplement un éditeur comme "Editra". - Ouvrez le fichier csv - Changez l'encodage, par exemple en UTF-8, en cliquant sur le type d'encodage dans la barre d'état de la fenêtre de l'éditeur. - Sauvegardez à nouveau le fichier (il est maintenant en UTF-8). - Terminé :o)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X