使用Python设置Excel页眉和页脚的操作代码
引言 在商务报表和数据文档的实际处理中,页眉和页脚绝对算得上是提升专业感和可读性的关键元素。合理设置后,公司名称、文档标题、页码、日期这些信息就能整齐地出现在每一页,打印出来的表格也规范得多。不过,手动去为每个工作表挨个设置,不仅耗时,还容易出错——遇上批量处理多个文件,简直要命。 接下来,我们看看
引言
在商务报表和数据文档的实际处理中,页眉和页脚绝对算得上是提升专业感和可读性的关键元素。合理设置后,公司名称、文档标题、页码、日期这些信息就能整齐地出现在每一页,打印出来的表格也规范得多。不过,手动去为每个工作表挨个设置,不仅耗时,还容易出错——遇上批量处理多个文件,简直要命。
接下来,我们看看如何用 Python 程序化地搞定这一过程,自动统一文档格式。通过代码,你可以快速给多个工作表套上一套样式,也能根据业务需求动态生成个性化的页眉页脚内容。
这里用到的库是免费版的 Free Spire.XLS for Python,一行 pip 命令就能装好:
pip install spire.xls.free
1. 基础文本设置:添加简单的页眉和页脚
先来最基础的——直接往页眉页脚里塞文字。Spire.XLS 提供了 LeftHeader、CenterHeader、RightHeader 以及对应的 Footer 属性,左中右三个位置随你填。
from spire.xls import *
from spire.xls.common import *
# 创建工作簿
workbook = Workbook()
sheet = workbook.Worksheets[0]
# 添加示例数据以展示多页效果
for i in range(1, 50):
sheet.Range[f"A{i}"].Text = f"数据行 {i}"
sheet.Range[f"B{i}"].Text = f"数值 {i * 10}"
# 设置左侧页眉和中间页脚
sheet.PageSetup.LeftHeader = "公司财务报表"
sheet.PageSetup.CenterFooter = "第 &P 页,共 &N 页"
# 设置视图模式为布局视图,便于预览页眉页脚
sheet.ViewMode = ViewMode.Layout
# 保存文件
workbook.SaveToFile("基础页眉页脚.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
说明:
- 页眉页脚位置:左中右三个位置,想怎么组合都行。
- 特殊占位符:
&P表示当前页码,&N表示总页数——Excel 内置的动态字段,非常方便。 - ViewMode 设置:把视图模式改成
Layout,在 Excel 里就能直接看到效果。

这一步看起来简单,却是后续所有花样操作的基础。
2. 字体格式化:自定义页眉页脚的样式
要想让页眉页脚更醒目、更专业,字号、字体、粗细、颜色这些都可以自定义。Spire.XLS 用一套特殊的格式字符串来控制它们。
说明:
格式字符串语法:
&"字体名"– 设置字体,比如&"Arial";&字号– 设置字号,例如&14;&B– 加粗,&I– 斜体,&U– 下划线;&K颜色代码– 用十六进制 RGB 值设颜色,&K0000FF就是蓝色。
- 组合使用:以上指令可以堆在一起用,效果很丰富。
- 中文支持:中文字体名也没问题,比如 "微软雅黑"、"宋体"。

这种格式化方式很适合制作与品牌风格统一的文档模板,提升企业形象的专业度。
3. 首页不同:为封面页设置独特的页眉页脚
很多正式文档的封面页需要和其他页面区分开——封面可能只想显示文档标题,内页则需要页码和公司信息。这个需求很常见。
from spire.xls import *
from spire.xls.common import *
# 创建工作簿
workbook = Workbook()
sheet = workbook.Worksheets[0]
# 添加跨越多页的数据
for i in range(1, 150):
sheet.Range[f"A{i}"].Text = f"记录 {i}"
sheet.Range[f"B{i}"].Text = f"详情 {i}"
sheet.Range[f"C{i}"].Text = f"备注 {i}"
# 启用首页不同设置
sheet.PageSetup.DifferentFirst = 1
# 设置首页的页眉和页脚
sheet.PageSetup.FirstHeaderString = "&"Arial"&18&B&K000080 2024年度综合分析报告"
sheet.PageSetup.FirstFooterString = "" # 首页不显示页脚
# 设置其他页面的页眉和页脚
sheet.PageSetup.LeftHeader = "&"Arial"&10 内部资料"
sheet.PageSetup.CenterFooter = "第 &P 页 / 共 &N 页"
# 设置视图模式
sheet.ViewMode = ViewMode.Layout
# 保存文件
workbook.SaveToFile("首页不同页眉页脚.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
说明:
- DifferentFirst 属性:设为
1就开启了首页独立模式。 - FirstHeaderString / FirstFooterString:专门用来设置首页的页眉和页脚。
- 应用场景:报告、提案、合同这种带封面的正式文档特别适用。
- 灵活性:首页页脚可以留空(空字符串),让封面更干净。

这样一来,首页突出主题,内页提供导航,文档结构层次分明。
4. 奇偶页不同:双面打印的专业排版
需要双面打印装订时,奇偶页的页眉页脚往往要镜像对称。比如奇数页的公司名称在右,偶数页改到左边,装订后读起来更舒服。
from spire.xls import *
from spire.xls.common import *
# 创建工作簿
workbook = Workbook()
sheet = workbook.Worksheets[0]
# 添加大量数据以产生多页
for i in range(1, 200):
sheet.Range[f"A{i}"].Text = f"项目编号 {i:04d}"
sheet.Range[f"B{i}"].Text = f"项目名称 {i}"
sheet.Range[f"C{i}"].Text = f"状态:进行中"
# 启用奇偶页不同设置
sheet.PageSetup.DifferentOddEven = 1
# 设置奇数页的页眉和页脚(右侧显示)
sheet.PageSetup.OddHeaderString = "&"Arial"&11&B&K0066CC 项目管理手册"
sheet.PageSetup.OddFooterString = "&R第 &P 页"
# 设置偶数页的页眉和页脚(左侧显示)
sheet.PageSetup.EvenHeaderString = "&"Arial"&11&B&KFF8800 项目管理手册"
sheet.PageSetup.EvenFooterString = "&L第 &P 页"
# 设置视图模式
sheet.ViewMode = ViewMode.Layout
# 保存文件
workbook.SaveToFile("奇偶页不同页眉页脚.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
说明:
- DifferentOddEven 属性:设为
1启用奇偶页区分。 - OddHeaderString / OddFooterString:负责奇数页(1,3,5...)。
- EvenHeaderString / EvenFooterString:负责偶数页(2,4,6...)。
- 对齐控制:
&L左对齐,&C居中,&R右对齐。 - 双面打印优化:非常适合装订成册的文档,让左右页边距保持对称。

这个小技巧能让打印文档的排版水准直接上一个台阶。
5. 图片插入:在页眉页脚中添加公司 Logo
除了文字,你还可以在页眉页脚里插入图片——最常见的就是公司 Logo。这样一来,所有输出的文档都能带上统一的品牌标识。
from spire.xls import *
from spire.xls.common import *
# 创建工作簿
workbook = Workbook()
sheet = workbook.Worksheets[0]
# 添加示例数据
for i in range(1, 80):
sheet.Range[f"A{i}"].Text = f"订单编号 {i:06d}"
sheet.Range[f"B{i}"].Text = f"客户名称 {i}"
sheet.Range[f"C{i}"].Text = f"金额 ¥{i * 500:.2f}"
# 加载图片文件
imageStream = Stream("company_logo.png") # 替换为你的Logo图片路径
# 设置左侧页眉图片
sheet.PageSetup.LeftHeaderImage = imageStream
sheet.PageSetup.LeftHeader = "&G" # &G 是图片占位符
# 设置中间页脚图片
sheet.PageSetup.CenterFooterImage = imageStream
sheet.PageSetup.CenterFooter = "&G"
# 同时添加文本页眉
sheet.PageSetup.RightHeader = "&"Arial"&12 销售数据报表"
# 设置视图模式
sheet.ViewMode = ViewMode.Layout
# 保存文件
workbook.SaveToFile("图片页眉页脚.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
说明:
- 图片加载:用
Stream类从文件路径读图,PNG、JPG 都可以。 - 图片属性:
LeftHeaderImage、CenterHeaderImage、RightHeaderImage分别对应三个位置的图片。 - 占位符 &G:在文本属性里写
&G,表示那个位置要放图片。 - 图文结合:图片和文字可以同时出现,视觉更丰富。
- 图片尺寸:建议准备高度不超过 50 像素的图片,免得布局崩了。

如果首页想用不同的 Logo,可以结合 DifferentFirst 属性和 SetFirstLeftHeaderImage() 方法来实现。
关键类与方法解析
PageSetup 类
PageSetup 是 Spire.XLS 里管理页面设置的核心类,页眉页脚、页边距、纸张方向这些页面配置都归它管。
主要属性和方法:
| 属性/方法 | 说明 | 用途 |
|---|---|---|
LeftHeader / CenterHeader / RightHeader | 获取或设置左/中/右页眉文本 | 设置常规页眉内容 |
LeftFooter / CenterFooter / RightFooter | 获取或设置左/中/右页脚文本 | 设置常规页脚内容 |
FirstHeaderString / FirstFooterString | 获取或设置首页页眉页脚文本 | 首页独特设计 |
OddHeaderString / OddFooterString | 获取或设置奇数页页眉页脚文本 | 双面打印奇数页 |
EvenHeaderString / EvenFooterString | 获取或设置偶数页页眉页脚文本 | 双面打印偶数页 |
LeftHeaderImage / CenterHeaderImage / RightHeaderImage | 获取或设置页眉图片 | 插入 Logo 等图片 |
LeftFooterImage / CenterFooterImage / RightFooterImage | 获取或设置页脚图片 | 页脚图片装饰 |
DifferentFirst | 启用/禁用首页不同功能 | 控制首页独立性 |
DifferentOddEven | 启用/禁用奇偶页不同功能 | 控制双面打印排版 |
SetFirstLeftHeaderImage() | 设置首页左侧页眉图片 | 首页专属图片 |
SetFirstLeftFooterImage() | 设置首页左侧页脚图片 | 首页专属图片 |
HeaderMarginInch | 设置页眉边距(英寸) | 调整页眉与内容的距离 |
FooterMarginInch | 设置页脚边距(英寸) | 调整页脚与内容的距离 |
格式字符串语法详解
页眉页脚文本中嵌入特殊的格式指令,能实现很丰富的样式效果:
字体控制:
&"字体名"– 设置字体,例如&"Arial"、&"微软雅黑"。&字号– 设置字号,如&12、&14。
样式控制:
&B– 加粗(Bold)&I– 斜体(Italic)&U– 下划线(Underline)&E– 双下划线&S– 删除线
颜色控制:
&K颜色代码– 设置颜色,用六位十六进制 RGB 值&K000000– 黑色&KFF0000– 红色&K0000FF– 蓝色&K008000– 绿色
对齐控制:
&L– 左对齐&C– 居中对齐&R– 右对齐
动态字段:
&P– 当前页码&N– 总页数&D– 当前日期&T– 当前时间&F– 文件名&A– 工作表名称&G– 图片占位符
组合示例:
&"Arial"&14&B&K0000FF 这是蓝色加粗的14号Arial字体文本 &R第 &P 页 / 共 &N 页
总结
通过以上五个示例,你已经掌握了用 Python 定制 Excel 页眉页脚主题的完整技能:
- 基础文本设置 – 快速添加简单内容。
- 字体格式化 – 自定义字体、大小、颜色和样式,打造专业外观。
- 首页不同 – 让封面页独立设计,提升文档层次感。
- 奇偶页不同 – 双面打印的排版优化,出版级水准。
- 图片插入 – 添加公司 Logo,强化品牌识别。
和手动在 Excel 里一个个设置相比,代码方式的优势很明显:
- 效率高:一行代码通吃整个工作簿。
- 一致性强:所有文档都用同一套样式标准。
- 可复用:代码模板存下来,新项目直接用。
- 批量化:几十上百个文件轻松搞定。
- 动态化:页眉页脚内容可以根据数据自动生成。
在此基础上,你还可以进一步扩展:
- 循环批量处理文件夹里的所有 Excel 文件。
- 根据工作表名称动态生成不同的页眉。
- 从数据库读取公司信息自动填入页眉页脚。
- 创建配置文件来管理不同项目的页眉页脚模板。
如果你正在处理企业报表、财务报告、项目文档这类需要规范输出的场景,这套基于 Python 的自动化方案,能让你的工作效率提升不少。


































