我在用python 3.7.9在Windows上使用openpyxl 3.0.5。
我试图通过设置'‘作为冻结_窗格的值来阻止它,但是它破坏了.xlsx文件,所以这不是答案。
def x(target_book):
sheet_data = target_book[sheet_name]
sheet_data.freeze_panes = ''请告诉我如何 "freeze_panes“在.xlsx工作表中。
发布于 2020-09-30 01:46:55
当我们想要解冻窗格时,需要以下代码。
def x(target_book):
sheet_data = target_book[sheet_name]
sheet_data.freeze_panes = 'A1'
sheet_data.views.sheetView[0].selection[1] = ''定义冻结窗格时,xml描述如下所示。
-<sheetViews>
-<sheetView workbookViewId="0" zoomScaleNormal="85" zoomScale="85" topLeftCell="A65" showGridLines="0">
<pane topLeftCell="L1" state="frozen" activePane="topRight" xSplit="4"/>
<selection sqref="A42" activeCell="A42"/>
<selection sqref="B1:Q84" activeCell="B1" pane="topRight"/>
</sheetView>
</sheetViews>当我们将'A1‘设置为freeze_panes时,xml就变成这样了。移除窗格元素。
-<sheetViews>
-<sheetView zoomScaleNormal="85" zoomScale="85" workbookViewId="0" topLeftCell="A65" showGridLines="0">
<selection sqref="A42" activeCell="A42"/>
<selection sqref="B1:Q84" activeCell="B1" pane="topRight"/>
</sheetView>
</sheetViews>在这个xml中,第二个选择元素引用了“窗格”属性,但是它已经被删除了。在Excel中打开此.xlsx时会导致错误。
所以我用下面的代码删除了第二个选择元素。
sheet_data.views.sheetView[0].selection[1] = ''我认为这样做不明智,所以如果你有任何好的答案,请告诉我。
https://stackoverflow.com/questions/64114301
复制相似问题