我正在尝试从excel文件创建层次结构。 样本数据如下:
Path Description
1 a
1.1 b
1.1.1 c
1.2 d
1.3 e
现在,我需要阅读每个细胞并检查它是否有孩子,
输出必须为,
Path Description
1 a
1.1 b
1.1.1 c
1.2 d
1.3 e
如何使用C#实现此目的并在控制台上打印? 请帮助我。
答案 0 :(得分:0)
我怀疑你想要别的东西,但你的问题回答了以下代码:
var source = @"Path Description
1 a
1.1 b
1.1.1 c
1.2 d
1.3 e";
var lines =
source
.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
var results =
lines
.Skip(1)
.Select(x => new
{
Indent = x[0].Count(y => y == '.'),
Path = x[0],
Description = x[1]
})
.Select(x =>
String.Format(
"{0}{1}{2}{3}",
"".PadLeft(x.Indent + 1).Substring(1),
x.Path,
"".PadLeft(15 - x.Path.Length - x.Indent),
x.Description));
Console.WriteLine(String.Join(Environment.NewLine, results));
它给出了:
1 a 1.1 b 1.1.1 c 1.2 d 1.3 e