我正在尝试使用 C# 从 Excel 电子表格中检索数据。电子表格中的数据具有以下特点:
没有分配列名
行可以有不同的列长度
一些行是元数据,这些行标记下一行中列的内容
因此,我需要构造的对象将始终在第一列中具有它们的名称,并且其参数包含在接下来的列中。从上面的行中检索参数名称很重要。一个例子:
row1|---------|FirstName|Surname|
row2|---Person|Bob------|Bloggs-|
row3|---------|---------|-------|
row4|---------|Make-----|Model--|
row5|------Car|Toyota---|Prius--|
所以不幸的是数据是异构的,确定哪些行“属于一起”的唯一方法是检查行中的第一列是否为空。如果是,则读取该行中的所有数据,并通过检查上面的行来检查哪些参数名称适用。起初我认为直接的方法是简单地循环
1)包含所有工作表的数据集,然后
是 2)数据表(即工作表)和
3)行。
但是,我发现尝试使用嵌套循环和 if 语句提取这些数据会导致代码变得糟糕、不可读和不灵活。有没有办法在 LINQ 中做到这一点?我查看了这篇文章,首先过滤了数据之间的空行,但并没有真正得到任何结果。有人可以用一些代码片段为我指明正确的方向吗?
提前致谢 !广