如何在Excel中对HTML进行HTML编码或音译“高”字符?

在Excel中,如何将包含重音字符,curl引号等的单元格的内容转换为相同字符的HTML或者音译明文版本?

我们有一个包含一些“高”字符的XLS文件。 数据已经通过数据库连接被引入,看起来Excel正确地处理了不同代码页中的单个单元(或行)。

当我们将这些数据导出到一个CSV文件时,一些高字符的渲染效果不正确 – 看起来,Excel使用单一的编码方式(当然),以及原始代码页中字符的位值(这可能会也可能不会与同一文件中的其他值保持一致)。

由于Excel在导出之前正确地呈现文本,因此我相信我们应该能够将高字符编码为其等效的HTML,然后导出为CSV,从而确保CSV仅为ASCII。

(或者,我们可以将音译转换为纯ASCII,但这似乎是一个糟糕的做法,可能并不容易…)

有一个pgc01的function似乎在这里做的伎俩: http ://www.mrexcel.com/forum/showpost.php?p=2091183&postcount =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 

如果您不确定如何将其导入Excel工作簿,则本指南非常有用: http : //office.microsoft.com/zh-cn/excel-help/create-custom-functions-in-excel- 2007年HA010218996.aspx

总结:

  1. Alt + F11来调出VBA编辑器
  2. 插入>模块
  3. 粘贴上面的代码
  4. 在工作表中使用function!

为了得到它作为一个适当的HTML编码unicode实体,我使用:

="&#"&CodeUni(C1, TRUE)&";"

在我的testing案例中,我有C1和E1,公式显示为&#FEFC;