使用 openpyxl 查找隐藏单元格

Dan*_*Dow 3 python excel openpyxl

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

谁能告诉我在哪里查看工作簿、工作表、列或单元格对象以查看隐藏列的位置?

oto*_*can 6

您要查找的属性位于对象的column_dimensionsrow_dimensions属性内Worksheet

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

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

for colLetter,colDimension in ws.column_dimensions.items():
  if colDimension.hidden == True:
     print(colLetter)
Run Code Online (Sandbox Code Playgroud)

对于行:

for rowNum,rowDimension in ws.row_dimensions.items():
  if rowDimension.hidden == True:
     print(rowNum)
Run Code Online (Sandbox Code Playgroud)

据我了解,加载您的工作簿read_only可能会造成混乱ws.row_dimensions,因此在这种情况下要小心。


Cha*_*ark 3

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