水印在许多类型的文档中是常见的设计元素,用于传达所有权、机密性或品牌信息,但 microsoft excel 并未提供内置的水印功能。不过,仍然有一些替代方法可以在 excel 电子表格中实现水印效果。
一种方法是将图片添加到工作表的页眉或页脚,另一种方法是将图片作为背景添加到工作表中。本文将介绍如何使用 spire.xls for python 在 python 中向 excel 添加页眉或背景图片水印。
安装 spire.xls for python
本方案需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 windows 中。
pip install spire.xls
如果您不清楚如何安装,请参考此教程: 如何在 windows 中安装 spire.xls for python
页眉 vs 图像背景水印
页眉图像水印
优点:
- 水印会在打印件上保留,确保其出现在最终的输出结果中。
缺点:
- 水印在“普通”视图下是隐形的,只在“页面布局”和“分页预览”视图中可见。
- 要将水印图形居中放置在 excel 页面上,需要仔细调整白色边距,特别是图像的顶部和左侧。
背景图像水印
优点:
- 水印图像会覆盖整个工作表区域,展现出统一的背景效果。
缺点:
- 水印在打印时不会显示,也就是说它不会出现在最终的打印件上。
使用页眉图像在 python 中为 excel 添加水印
spire.xls for python 提供 pagesetup 类来控制与外观和打印工作表的排版有关的各种设置。在这个类里,你可以找到 centerheader 和 centerheaderimage 属性,它们可以用来在页眉中间位置设置图像。
下面是使用 python 添加页眉图像水印到 excel 的步骤:
- 创建一个 workbook 对象。
- 从指定文件路径加载 excel 文档。
- 初始化 stream 类,同时加载背景图片。
- 从工作簿中获取特定工作表。
- 通过将 worksheet.pagesetup.centerheader 属性设置为 "&g",将图像字段添加到页眉中心。
- 通过 worksheet.pagesetup.centerheaderimage 属性将图片添加到页眉的中间位置。
- 保存修改后的工作簿。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个 workbook 对象
workbook = workbook()
# 加载 excel 文件
workbook.loadfromfile("发票.xlsx")
# 加载图片
stream = stream("confidential.png")
# 遍历文件中的所有工作表
for i in range(workbook.worksheets.count):
# 获取特定工作表
worksheet = workbook.worksheets[i]
# 在页眉中心添加图片字段
worksheet.pagesetup.centerheader = "&g"
# 添加图片到页眉中心
worksheet.pagesetup.centerheaderimage = stream
# 保存结果文件
workbook.savetofile("添加页眉水印.xlsx", excelversion.version2016)
# 释放资源
workbook.dispose()
使用背景图像在 python 中为 excel 添加水印
pagesetup 类提供了 backgroundimage 属性,用于获取或设置背景图片。以下是使用 python 向 excel 添加背景图片水印的步骤。
- 创建一个 workbook 类的对象。
- 从指定文件路径加载 excel 文档。
- 初始化 stream 类的同时加载背景图片。
- 从工作簿中获取指定工作表。
- 通过 worksheet.pagesetup.backgroundimage 属性将图片设置为工作表的背景。
- 保存修改后的工作表。
- python
from spire.xls import *
from spire.xls.common import *
# 创建一个 workbook 对象
workbook = workbook()
# 加载 excel 文件
workbook.loadfromfile("发票.xlsx")
# 加载图片
stream = stream("sample.png")
# 遍历文件中的所有工作表
for i in range(workbook.worksheets.count):
# 获取特定工作表
worksheet = workbook.worksheets[i]
# 将图片设置为工作表的背景
worksheet.pagesetup.backgoundimage = stream
# 保存修改后的文档为新的 excel 文档
workbook.savetofile("添加背景水印.xlsx", excelversion.version2016)
# 释放资源
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。