首页 > 解决方案 > 如何在 Python 中使用 openpyxl 在现有 Excel 工作表中设置活动页眉/页脚类型?

问题描述

我有大量的 Excel 工作表,我想遍历并更新首页页脚,并使用 openpyxl 将工作表设置为“不同的首页”。以下代码可用于打开 excel 文件,更改首页页脚,但我在文档中找不到如何更改哪个页脚是打印的活动页脚。这甚至可能吗?

https://openpyxl.readthedocs.io/en/stable/api/openpyxl.worksheet.header_footer.html

from openpyxl import load_workbook
from openpyxl.utils import get_column_letter

filename = '150913M2_IS.xlsm'

wb = load_workbook(filename, read_only=False, keep_vba=True)

ws = wb.active

#Attempted setting this value to True but this does nothing
ws.differentFirst = True

#This works perfectly to set the first page footer
#but I have to manually go in and change the Excel sheet 
#to 'Different first page'
ws.firstFooter.left.text = 'Hello World'

wb.save(filename)

标签: pythonexcelopenpyxl

解决方案


问题:设置活动页眉/页脚类型

类_HeaderFooterPart:

def __init__(self, text=None, font=None, size=None, color=None):
    self.text = text
    self.font = font
    self.size = size
    self.color = color

from openpyxl import Workbook

wb = Workbook()
ws = wb.active

ws.HeaderFooter.differentFirst = True
ws.HeaderFooter.firstFooter.left.text = 'Hello World'

print(ws.HeaderFooter.firstFooter.left.text)
>>> Hello World

# wb.save(<File Name>)

使用 Python 3.6 - openpyxl3.0.0测试


推荐阅读