如何解决ClosedXML - 无法将 IXLRangeRows 转换为 IXLRange
我正在使用 ClosedXML.Excel 从 Excel 工作表中读取数据。 假设我有一个与此类似的表:
我使用 workSheet.RangeUsed()
读取这个表,它产生类型 IXLRange
并且我将范围过滤到包含 Division 1 的行,所以我这样做
var filteredRows = range.Rows(r => r.Cell(1).GetString().Equals("Division 1"));
但后来我想根据第 2 列中的值过滤filteredRows,但我无法按照上述方式进行过滤,因为filteredRows 的类型为IXLRangeRows
。
我尝试将其转换为 IXLRange,但转换失败。
我如何进行过滤?我在递归函数中使用它,这就是为什么我需要范围和过滤行的类型相同。
解决方法
如果你可以从 IXLRangeRows range = worksheet.RangeUsed().Rows()
开始,然后使用
IXLRangeRows filteredRows = (IXLRangeRows)range.Where(r => r.Cell(1).GetString().Equals("Division 1"));
IXLRangeRows filteredRows2 = (IXLRangeRows)filteredRows.Where(r => r.Cell(2).GetString().Equals("Subdivision 1.1"));
现在每一步都有相同的类型 (IXLRangeRows
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。