Chr*_*ess 3 excel vba character-encoding export-to-csv
在Excel中,如何将包含重音字符,弯引号等单元格的内容转换为相同字符的HTML或音译纯文本?
我们有一个XLS文档,其中包含一些"高"字符.数据已通过数据库连接引入,似乎Excel正确处理位于不同代码页中的单个单元格(或行).
当我们将此数据导出为CSV时,某些高字符未正确呈现 - Excel似乎使用单个编码(当然),以及原始代码页中字符的位值(可能会也可能不会)与同一文件中的其他值保持一致).
由于Excel在导出之前正确呈现文本,我相信我们应该能够在此时将高字符编码为其HTML等价物,然后导出为CSV,从而确保CSV仅为ASCII.
(或者我们可以音译为纯ASCII,但这似乎是一种糟糕的方法,可能并不容易......)
pgc01有一个功能似乎可以解决这个问题:http://www.mrexcel.com/forum/showpost.php?p = 2091183&posttcount = 7
希望我能引用他们的代码:
Function CodeUni(s As String, Optional bHex As Boolean = True)
If bHex Then
CodeUni = Right("0000" & Hex(AscW(Left(s, 1))), 4)
Else
CodeUni = AscW(Left(s, 1))
End If
End Function
Run Code Online (Sandbox Code Playgroud)
如果您不确定如何将其导入Excel工作簿,本指南非常有用:http://office.microsoft.com/en-us/excel-help/create-custom-functions-in-excel- 2007年HA010218996.aspx
总结一下:
为了使其成为正确的HTML编码的unicode实体,我使用了:
="&#"&CodeUni(C1, TRUE)&";"
在我的测试用例中,我在C1中有لا,在E1中,公式显示为FEFC;
归档时间: |
|
查看次数: |
2949 次 |
最近记录: |