xls到csv,支持chainese字符

时间:2010-02-19 11:51:41

标签: excel csv

将具有chainese字符的excel文件保存到csv时,这些字符正在转换为??? (问号)垃圾字符。

如果您有任何解决方案,请告诉我。我尝试将其保存在unicode文本中,它工作正常,但当我尝试将其保存为.csv时,它无效。

由于

2 个答案:

答案 0 :(得分:1)

我之前遇到类似日文字符的问题。当时Excel 2003仅将CSV导出到Latin1(或者可能是Windows 1352)。我基本上编写了自己的Excel宏来迭代行和列,并构建一个CSV文件外观的内存字符串。然后,我使用ADODB.Stream自己保存它。这个示例代码可以帮助您入门。

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

答案 1 :(得分:0)

为什么需要CSV文件?您需要什么编码? UTF-8? GBK?什么软件会读取CSV文件?您使用的是哪个版本的Excel?

如果您了解Python,则可以使用xlrd module来读取Excel文件,格式化数据,对其进行编码,并将其写入CSV文件,或者使用它来更新数据库等等。 / p>