从xslx doc读取数据时遇到了一个特殊问题。 doc中的数据在圆圈内有'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);
}
}
非常感谢任何线索/建议。
问候。
答案 0 :(得分:1)
Windows控制台不支持Unicode,并且所有输出都会自动转换为非unicode应用程序的默认系统区域设置(基于ASCII)。 ASCII中没有'''符号,以下代码将打印T:
Console.WriteLine("™");
但是如果您将相同的字符串保存为Unicode文件,那么™将被正确保存:
System.IO.File.WriteAllText("text.txt", "™");
System.Diagnostics.Process.Start("text.txt");
答案 1 :(得分:0)
我认为它是显示字体的限制。您看到的TM符号很可能是unicode字符2122 =>或html中的™
。
某些字体无法很好地显示这些较高的代码。尝试使用Arial而不是单色字体,你可能会看到差异。 Windows中的角色地图工具确实有帮助。
另一个选项是该项可能是符号字体系列中的符号。您始终可以使用c#查找您拥有的char的unicode字符。