基于单列值跳过记录,而不遍历每一行openxml c#
我有如下结构的excel文件:基于单列值跳过记录,而不遍历每一行openxml c#,c#,excel,openxml,C#,Excel,Openxml,我有如下结构的excel文件: ColA | ColB | ColC | ColD | ColE | ColF | ColG 1 | a | a | 23 | 12 | asd | 5 2 | s | v | 73 | 14 | qsd | 7 4 | t | b | 52 | 52 | avn | 2 | y | t | 13 | 71 | asx | 2 5 |
ColA | ColB | ColC | ColD | ColE | ColF | ColG
1 | a | a | 23 | 12 | asd | 5
2 | s | v | 73 | 14 | qsd | 7
4 | t | b | 52 | 52 | avn |
2 | y | t | 13 | 71 | asx | 2
5 | d | e | 20 | 18 | vss |
1 | f | n | 63 | 72 | ann |
9 | g | a | 27 | 10 | aqz | 15
我只想读取并获取那些在ColG
中没有值的行。
我可以使用以下代码迭代每行并匹配每行的每个单元格值:
for (int i = 0; i < rows.Count(); i++)
{
DataRow dataRow = dataTable.NewRow();
int cellCounter = 0;
foreach (Cell cell in rows.ElementAt(i))
{
dataRow[cellCounter] = GetCellValue(spreadSheetDocument, cell);
cellCounter++;
}
dataTable.Rows.Add(dataRow);
}
for(int i=0;i
但这是一个非常耗费内存和时间的过程
谁能帮我实现同样的目标
提前感谢。您使用的是
数据表
,因此肯定会有高内存消耗。你怎么填桌子?使用SQL适配器?我没有看到您使用DocumentFormat.OpenXML
中的Cell
或Row
,所以您真的想要使用OpenXML或SQLAdapter+DataTables的解决方案吗?这只是整个逻辑中的一段代码。我想让它成为使用OpenXML的解决方案。然后展示您使用OpenXML的尝试以及您在使用OpenXML时遇到的困难。上面对数据表
的每一行都进行了迭代。如果有条件要检查,可以放入if
语句。我不明白什么是直接过滤,如何在不检查所有元素的情况下进行过滤。为了获得更好的帮助,您可能应该编辑您的问题和标签。这与OpenXML无关。