水印在许多类型的文档中是常见的设计元素,用于传达所有权、机密性或品牌信息,但 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 天的临时许可证。