使用openpyxl查找隐藏的单元格

我一直在试图编写一个脚本来将格式从一个工作簿复制到另一个工作簿,正如任何处理openpyxl的人都知道的那样,这是一个很大的脚本。 我已经得到它工作得很好,但有一件事我似乎无法弄清楚是如何从原来的阅读,如果列是隐藏的。

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

工作表包含row_dimensionscolumn_dimensions对象,其中包含有关特定行或列的信息,例如是否隐藏。 列尺寸也可以分组,所以你需要考虑到这一点,当看。

您正在查找的属性位于Worksheet对象的column_dimensionsrow_dimensions属性中。

这些绑定字典的值是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 ,所以在这种情况下要小心。