使用openpyxl查找隐藏的单元格

时间:2015-07-06 23:26:55

标签: python excel openpyxl

我一直在尝试编写一个脚本来将格式从一个工作簿复制到另一个工作簿,并且正如任何处理openpyxl的人都知道的那样,它是一个很大的脚本。我已经让它工作得很好,但我似乎无法弄明白的一件事是如何从原始版本中读取如果隐藏列。

任何人都可以告诉我在工作簿,工作表,列或单元格对象中的哪个位置查看隐藏列的位置吗?

2 个答案:

答案 0 :(得分:2)

工作表包含row_dimensionscolumn_dimensions个对象,其中包含有关特定行或列的信息,例如它们是否隐藏。列尺寸也可以分组,因此您在查看时需要考虑到这一点。

答案 1 :(得分:2)

您要查找的属性位于column_dimensions对象的row_dimensionsWorksheet属性中。

这些是绑定的词典,其值为ColumnDimension / RowDimension个对象。您要查找的具体属性是ColumnDimension.hidden

以下内容将打印工作表ws中所有隐藏列的列字母:

for colLetter,colDimension in ws.column_dimensions.items(): if colDimension.hidden == True: print(colLetter)

对于行:

for rowNum,rowDimension in ws.row_dimensions.items(): if rowDimension.hidden == True: print(rowNum)

据我了解,将工作簿加载为read_only可能会导致ws.row_dimensions混乱,因此在这种情况下要小心。