C# 分析选项卡之间的文本

C# 分析选项卡之间的文本,c#,excel,parsing,C#,Excel,Parsing,我必须将excel复制并粘贴到表单中,然后提取每个值,因为它由选项卡分隔,所以我正在执行以下操作: var lines = PasteText.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); foreach (var currLine in lines.Where(x => !String.IsNullOrWhiteSpace(x))) { var items = currLine.Split(new

我必须将excel复制并粘贴到表单中,然后提取每个值,因为它由选项卡分隔,所以我正在执行以下操作:

var lines = PasteText.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

foreach (var currLine in lines.Where(x => !String.IsNullOrWhiteSpace(x)))
{
     var items = currLine.Split(new string[] { "\t", " " }, StringSplitOptions.RemoveEmptyEntries)
        .Take(15).ToArray();
}
但如果其中一个列字段中有一个选项卡,就会出现问题


如何解决这个问题?

如果列中有一个制表符,那么制表符首先就不是真正的分隔符,currLine从何而来?如果列字段中有一个制表符,则表示有两个连续的空字段。您不应该使用
removemptyentries
,而应该使用
None
。否则,您可能会在每一行中得到不同的字段长度。@AlexK。更新了代码,如果我不能使用制表符作为分隔符,我怎么能解析excel?@TimSchmelter说有一些文本像“text moretext”@JoeViscardi:那么你应该抱怨那个说制表符是分隔符的家伙,显然不是。如果确实是,则csv已损坏,无法读取。您(或负责人)应该尝试修复根,以便确定它的生成位置。