1

我有一个字符串,我正在使用 GEMBOX SPREADSHEET

string sr = “Save as type”; 

在这 -- 另存为类型 -- 是普通字符串,但是当我使用 GEMBOX 加载文本文件时

这个符号

“Save as type”

被转换为

�Save as type�

如何解决这个问题?这是我尝试实施时出现的代码

65533
4

1 回答 1

5

解析工作表中的数据时,可以使用以下函数替换特殊的 Word/Excel 字符:

public static string ReplaceWordChars(this string text)
{
    var s = text;

    s = Regex.Replace(s, "[\u2018|\u2019|\u201A]", "'"); // smart single quotes and apostrophe
    s = Regex.Replace(s, "[\u201C|\u201D|\u201E]", "\""); // smart double quotes
    s = Regex.Replace(s, "\u2026", "..."); // ellipsis
    s = Regex.Replace(s, "[\u2013|\u2014]", "-"); // dashes
    s = Regex.Replace(s, "\u02C6", "^"); // circumflex
    s = Regex.Replace(s, "\u2039", "<"); // open angle bracket
    s = Regex.Replace(s, "\u203A", ">"); // close angle bracket
    s = Regex.Replace(s, "[\u02DC|\u00A0]", " "); // spaces

    return s;
}

此功能不会替换所有特殊字符,而只会替换 Word/Excel 最常用的字符。

我最近在做一个 web 服务项目时遇到了同样的问题,并且在谷歌搜索期间遇到了这个功能。这是我找到代码的原始文章:http ://www.andornot.com/blog/post/Replace-MS-Word-special-characters-in-javascript-and-C.aspx

于 2013-03-08T13:09:59.543 回答