我想使用LINQ以以下形式从Excel工作表中提取数据:
Heading1 . A . B
. C . D
Heading2 . E . F
. G . H
. I . J
这应该投影在POCO之类的
上class projection
{
string heading;
List<string[]> datapoints;
}
我正在尝试找到两个问题的解决方案:
a)我想知道如何将列表的多个连续项投影到一个对象结构上。
b)我想从一个字段中的不同“标题”定义的列表中选择一系列项目,然后是空项目。
对于步骤a)我正在查看GroupBy:
[编辑:]
var table = new [] {
new [] { "EP1","A","B"},
new [] { "EP1","C","D"},
new [] { "EP2","E","F"},
new [] { "EP2","G","H"},
};
var EPs = table.GroupBy(x=>x[0])
.Select(x => new {EP = x.Key, DPs = x.Select(y=>y)});
DP将占据整个区块,所以我认为这解决了我的问题
对于步骤b),应该很容易以如下方式对Excel进行预处理:“用上面的标题填充空白标题字段”。但是我想知道是否有可能使用LINQ做到这一点。