单元格结构如图
image.png (39.7 KB)
想获取表头 “配方名称” 的全部单元格区域, 但是查找时获取的 “配方名称” 单元格为A1, 而不是A2
有没有简洁的办法直接通过start_cell = cell_sheet.cells.find(
what=“配方名称”, previous_cell=None
)去获取所在的合并区域, 因为我是通过值匹配的方式进行查找的
或者说, 我如何通过 “配方名称”, 匹配A1:U2的表头区域
start_cell = cell_sheet.cells.find(what=“配方名称”, previous_cell=None)
rang = start_cell .get_merged_range()
我们只能通过上面的方法得到 区域A1:A2
获取A1:U2表头区域,你得自己去遍历实现因为这个涉及到文件内容逻辑了。
问题在于, 如果一个单元格属于合并区域, 比如一个单元格为B1, 合并的区域为A1:F1, 而合并区域只提供了最大行号和最小行号, 那么查找的过程就变得繁琐了, 正常的设计不应该是这个单元格存在一个属性, 挂载了合并单元格区域吗
另外, 如何通过"A1:F1"直接获取到指定单元格区域, 有内置的方法可以做到吗
如何基于当前Cell, 获取一个拓展区域, 类似xlwings的expand方法
Range 提供了 first_row 和 first_column. 如果区域被合并了, 那么值只能在第一个单元格。从内存的角度 ,合并区域不能是单元格的属性。
Range 提供了 get 方法通过 偏移量来获取单元格
你能用个示例来说明这个功能么?
如何一次性获取值为"电解液"的所有单元格对象
我已经找到, Cell.get_merged_range()方法,就是如此
数据不连续
如何基于Range对象进行指定值查找单元格
@zengweiyu
目前来说
1,使用 get_enumerator method | Aspose.Cells for Python via .NET API References 获取每一个cell, 然后自己比较
2,使用 Cells.Find() 方法,设置查找区域: set_range method | Aspose.Cells for Python via .NET API References
考虑到需要基于表头区域进行频繁查找, 而主体数据十分庞大, 如果一味使用cells.find()的话, 当查找没有命中时(可能表头不存在”电解液“), 检索的耗时会十分巨大
这一列有其他数据的数据, 那么只能通过调用方来进行值遍历是吗,