0

我在从 xslx 文档读取数据时遇到了一个特殊问题。文档中的数据在圆圈内有“TM”符号。当它被读取时,它会显示为大写“T”。我正在使用 EPPlus 库来读取数据,如下所示:

var existingFile = new FileInfo(filePath);

                using (var package = new ExcelPackage(existingFile))
                {
                    ExcelWorkbook workBook = package.Workbook;
                    ExcelWorksheet currentWorksheet = workBook.Worksheets.First();

                    foreach (var item in currentWorksheet.Cells)
                    {
                        Console.WriteLine(item.Value);
                    }
                }

非常感谢任何线索/建议。

问候。

4

2 回答 2

1

Windows 控制台不支持 Unicode,所有输出都会自动转换为非 Unicode 应用程序的默认系统区域设置(基于 ASCII)。ASCII中没有'™'符号,以下代码将打印T:

Console.WriteLine("™");

但是如果您将相同的字符串作为 Unicode 保存到文件中,那么 ™ 将被正确保存:

System.IO.File.WriteAllText("text.txt", "™");
System.Diagnostics.Process.Start("text.txt");
于 2013-10-03T09:58:21.830 回答
0

我认为这是您的显示字体的限制。您看到的 TM 符号很可能是 unicode 字符 2122 => ™ 或&#0153html。

有些字体不能很好地显示那些更高的代码。尝试使用 Arial 而不是 monotype 字体,您可能会看到不同之处。windows中的字符映射工具真的很有帮助。

另一种选择是该项目可能是符号字体系列中的一个符号。您始终可以使用 c# 来查找您拥有的 char 的 unicode 字符。

于 2013-10-03T09:58:28.927 回答