簡體   English   中英

如何在python中用xlwings設置Excel PageBreak?

[英]How to set Excel PageBreak with xlwings in python?

需要幫助在 python 中使用xlwings package 設置PageBreak excel 文件。
根據微軟網站: https://learn.microsoft.com/zh-tw/office/vba/api/excel.range.pagebreak

我試過了

app = xw.App(visible=True, add_book=False)
wb = app.books.open("raw_data/" + raw_file_name, update_links=False)
sht = wb.sheets['sheet1']
sht.api.Rows(24).PageBreak = 'xlPageBreakManual' # I would like to set on row 24

程序永遠卡住了。 有誰知道如何解決這個問題?
謝謝

xlwings 不知道xlPageBreakManual是什么,除非它被引用。 然而,在這種情況下,這是沒有必要的。 默認是添加一個手動分頁符,因此語法是唯一的; sht.api.Rows(24).PageBreak = True 如果您隨后檢查第 24 行的 PageBreak 狀態; print(sht.api.Rows(24).PageBreak)它應該返回-4135 ,這是xlPageBreakManual的 excel 常量。

您可以使用常量來設置分頁符的類型,例如sht.api.Rows(24).PageBreak = True行也可以寫為sht.api.Rows(24).PageBreak = -4135sht.api。行 (24).PageBreak = PageBreak.xlPageBreakManual

可以使用語法從 xlwings 常量引用分頁符值 from xlwings.constants import PageBreak 下面顯示的示例在第 24 行設置分頁符,然后顯示前一行、實際行和后續行的狀態。 前一行和后續行的狀態為-4142 ,即沒有分頁符,而第 24行為 -4135

然后代碼使用xlPageBreakNone刪除分頁符,並且第 23-25 行的三行再次全部為 -4142

對於這個測試,我使用了 xlwings v0.26.1

import xlwings as xw
from xlwings.constants import PageBreak

### Constant values for reference
# xlPageBreakAutomatic = -4105
# xlPageBreakManual = -4135
# xlPageBreakNone = -4142

app = xw.App(visible=True, add_book=False)
sht = xw.Book("book.xlsx").sheets['Sheet1']

print("Add Page break at row 24")
sht.api.Rows(24).PageBreak = True
# sht.api.Rows(24).PageBreak = -4135  # This does the same as the line above 
# sht.api.Rows(24).PageBreak = PageBreak.xlPageBreakManual # As does this line
print('Row23: ' + str(sht.api.Rows(23).PageBreak))
print('Row24: ' + str(sht.api.Rows(24).PageBreak))
print('Row25: ' + str(sht.api.Rows(25).PageBreak))

print("\nDelete Page break at row 24")
sht.api.Rows(24).PageBreak = PageBreak.xlPageBreakNone
print('Row23: ' + str(sht.api.Rows(23).PageBreak))
print('Row24: ' + str(sht.api.Rows(24).PageBreak))
print('Row25: ' + str(sht.api.Rows(25).PageBreak))

請注意,嘗試手動將分頁符設置為 -4105 (xlPageBreakAutomatic) 會失敗,這是我所期望的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM