来自excel的字符串,其长度大小不同于实际值

时间:2017-07-26 09:58:25

标签: c# epplus

我构建了一个web-app,使用EPPLUS逐行读取上传的excel文件中的字符串值。

刚才我遇到了奇怪的行为,我的string.length大小与它的实际值不同。

代码清楚说明:

//pretend str value = "cat"
string str = Worksheets.Cells["A1"].Value.ToString().Trim();

//output will be = "cat"
Debug.Writeline(str);

//it should be = 3 right
//but it's actually = 4
Debug.Writeline(str.Length);

谁能解释为什么会发生这种情况? 以及如何解决它,因为我需要将该字符串与我自己的硬编码字符串进行比较

1 个答案:

答案 0 :(得分:6)

如果长度报告为4,那么你的字符串肯定还有其他内容。您是否逐字节地查看了它?

试试这个:

var cat = Worksheets.Cells["A1"].Value.ToString().Trim();
foreach (var c in cat.ToCharArray())
{
    Debug.WriteLine("{0}: '{1}'", (int)c, c);
}

它应该可以帮助您确定字符串中隐藏的其他内容。我怀疑这是EPPlus正在做的“奇怪”(我一直使用它并且从未经历过这样的事情) - 它几乎肯定是你的源数据中的一些奇怪的东西。