2010-02-19 4 views
0

Lors de l'enregistrement d'un fichier Excel avec le caractère chainese à csv, ces caractères convertissent en ??? (Points d'interrogation) caractères indésirables.xls à csv avec support de caractères chainese

S'il vous plaît laissez-moi savoir si l'un de vous a une solution pour cela. J'ai essayé de l'enregistrer en texte Unicode, ça a bien fonctionné mais quand j'ai essayé de l'enregistrer sous .csv, ça ne fonctionnait pas.

Merci

Répondre

1

J'ai un problème similaire avec les caractères japonais avant. À l'époque, Excel 2003 exportait uniquement CSV vers Latin1 (ou peut-être Windows 1352). J'ai fondamentalement écrit ma propre macro Excel pour itérer sur les lignes et les colonnes, et construire une chaîne de mémoire de ce à quoi le fichier CSV ressemblerait. Ensuite, j'ai utilisé un ADODB.Stream pour le sauvegarder moi-même. Cet exemple de code devrait vous aider à démarrer.

Dim csvdata As String 
Dim CRLF As String 
Dim objStream As Object 

CRLF = Chr(13) & Chr(10) 

csvdata = """key"",""value""" + CRLF 
csvdata = csvdata + """a"",""a""" + CRLF 
csvdata = csvdata + """aacute"",""á""" + CRLF 

Set objStream = CreateObject("ADODB.Stream") 
objStream.Open 
objStream.Position = 0 
objStream.Charset = "UTF-8" 
objStream.WriteText csvdata 
objStream.SaveToFile "test.csv", 2 ' adSaveCreateOverWrite 
objStream.Close 
0

Pourquoi avez-vous besoin d'un fichier CSV? De quel encodage avez-vous besoin? UTF-8? GBK? Quel logiciel va lire le fichier CSV? Quelle version d'Excel utilisez-vous? Si vous connaissez Python, vous pouvez utiliser le xlrd module pour lire le fichier Excel, formater les données, les encoder et les écrire dans un fichier CSV, ou l'utiliser pour mettre à jour une base de données, ou autre.

Questions connexes