使用Python设置Excel页眉和页脚的操作代码

 更新时间:2026年05月31日 09:03:42   作者:大丸子  
在实际的商务报表和数据文档处理中,页眉和页脚是提升文档专业性和可读性的重要元素,通过合理设置页眉页脚,可以展示公司名称、文档标题、页码、日期等关键信息,本文将介绍如何使用 Python 程序化地设置 Excel 工作表的页眉和页脚主题,实现自动化文档格式化

引言

在实际的商务报表和数据文档处理中,页眉和页脚是提升文档专业性和可读性的重要元素。通过合理设置页眉页脚,可以展示公司名称、文档标题、页码、日期等关键信息,让打印输出的 Excel 表格更加规范和专业。然而,手动为每个工作表设置页眉页脚不仅耗时,还容易出错,特别是在需要批量处理多个文件时。

本文将介绍如何使用 Python 程序化地设置 Excel 工作表的页眉和页脚主题,实现自动化文档格式化。通过代码方式,你可以快速统一多个工作表的样式,或者根据不同业务需求动态生成个性化的页眉页脚内容。

本文使用的方法需要用到免费的 Free Spire.XLS for Python,可通过 pip 安装:

pip install spire.xls.free

1. 基础文本设置:添加简单的页眉和页脚

最基础的页眉页脚设置是直接添加文本内容。Spire.XLS 提供了 LeftHeaderCenterHeaderRightHeader 以及对应的 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()

说明:

  • 页眉页脚位置:Excel 支持左、中、右三个位置的页眉和页脚,可以根据需要灵活组合
  • 特殊占位符&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 等常见格式
  • 图片属性LeftHeaderImageCenterHeaderImageRightHeaderImage 分别对应三个位置的图片
  • 占位符 &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 的自动化方案将为你的工作效率带来显著提升。

以上就是使用Python设置Excel页眉和页脚的操作代码的详细内容,更多关于Python设置Excel页眉和页脚的资料请关注脚本之家其它相关文章!

相关文章

  • Python计算指定日期是今年的第几天(三种方法)

    Python计算指定日期是今年的第几天(三种方法)

    这篇文章主要介绍了Python三种方法计算指定日期是今年的第几天,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 终止python代码运行的3种方式详析

    终止python代码运行的3种方式详析

    这篇文章主要给大家介绍了关于终止python代码运行的3种方式,python是解释运行的程序,程序进入死循环或者其它异常都会导致程序无法正常结束,需要的朋友可以参考下
    2023-07-07
  • 使用Python实现微信提醒备忘录功能

    使用Python实现微信提醒备忘录功能

    最近工作比较繁杂,经常忘事,有时候记了备忘录结果却忘记看备忘录,但是微信是每天都会看的,于是就想到写 一个基于微信的提醒系统。这篇文章主要介绍了使用Python实现微信提醒备忘录功能,需要的朋友可以参考下
    2018-12-12
  • numpy linalg模块的具体使用方法

    numpy linalg模块的具体使用方法

    这篇文章主要介绍了numpy linalg模块的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python ftp上传文件

    Python ftp上传文件

    这篇文章主要介绍了Python ftp上传文件的相关资料,需要的朋友可以参考下
    2016-02-02
  • python匹配两个短语之间的字符实例

    python匹配两个短语之间的字符实例

    今天小编就为大家分享一篇python匹配两个短语之间的字符实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Pytorch实现的手写数字mnist识别功能完整示例

    Pytorch实现的手写数字mnist识别功能完整示例

    这篇文章主要介绍了Pytorch实现的手写数字mnist识别功能,结合完整实例形式分析了Pytorch模块手写字识别具体步骤与相关实现技巧,需要的朋友可以参考下
    2019-12-12
  • Python环境管理virtualenv&virtualenvwrapper的配置详解

    Python环境管理virtualenv&virtualenvwrapper的配置详解

    这篇文章主要介绍了Python环境管理virtualenv&virtualenvwrapper的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python subprocess模块常见用法分析

    Python subprocess模块常见用法分析

    这篇文章主要介绍了Python subprocess模块常见用法,结合实例形式分析了subprocess模块进程操作相关使用技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • python中面向对象的注意点概述总结

    python中面向对象的注意点概述总结

    大家好,本篇文章主要讲的是python中面向对象的注意点概述总结,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02

最新评论