使用C#代码向 Excel 文档添加水印

向 Excel 电子表格添加水印是一种常见方法,可用于品牌标识或标记文档保密性。虽然 Microsoft Excel 本身没有直接提供水印功能,但可以通过在工作表页眉或页脚插入图片,或将图片设置为背景的方式来实现类似效果。

本文将介绍如何在 C# 中通过页眉图片或背景图片,为 Excel 添加水印效果。

准备开发环境

在开始之前,需要在 .NET 项目中引用相关 Excel 处理库的 DLL 文件。可以通过 NuGet 安装或从官方渠道下载后手动添加引用。

cs 复制代码
PM> Install-Package Spire.XLS

页眉图片水印 vs 背景图片水印

页眉图片水印

优点:

  • 水印会保留在打印输出中,确保最终文档中可见

缺点:

  • 在 Excel 的"普通视图"中不可见,只能在"页面布局"或"分页预览"中看到
  • 如果要将水印居中显示,需要手动调整页边距,尤其是上边距和左边距

背景图片水印

优点:

  • 水印会铺满整个工作表区域,视觉效果更统一

缺点:

  • 不会出现在打印结果中,打印输出时水印会消失

使用 C# 通过页眉图片向 Excel 添加水印

Spire.XLS for .NET 提供了 PageSetup 类,可用于控制打印工作表的外观和布局相关设置。该类包含 CenterHeader 和 CenterHeaderImage 属性,可用于在页眉的居中区域设置图片。

以下是在 C# 中通过页眉图片为 Excel 添加水印的步骤:

  • 创建 Workbook 对象
  • 从指定文件路径加载 Excel 文档
  • 使用 Image.FromFile() 方法加载图片
  • 从工作簿中获取指定工作表
  • 通过将 Worksheet.PageSetup.CenterHeader 属性设置为 "&G",在页眉中添加图片占位符
  • 使用 Worksheet.PageSetup.CenterHeaderImage 属性将图片应用到页眉居中位置
  • 将工作簿保存为新的 Excel 文件

示例代码如下:

cs 复制代码
using Spire.Xls;
using System.Drawing;

namespace 通过页眉为Excel添加水印
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 对象
            Workbook workbook = new Workbook();

            // 加载 Excel 文档
            workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx");

            // 加载图片文件
            Image image = Image.FromFile("C:\\Users\\Administrator\\Desktop\\confidential.png");

            // 遍历文件中的所有工作表
            for (int i = 0; i < workbook.Worksheets.Count; i++)
            {
                // 获取指定工作表
                Worksheet worksheet = workbook.Worksheets[i];

                // 在页眉中间区域添加图片占位符
                worksheet.PageSetup.CenterHeader = "&G";

                // 将图片添加到页眉中间位置
                worksheet.PageSetup.CenterHeaderImage = image;
            }

            // 保存结果文件
            workbook.SaveToFile("AddWatermark.xlsx", ExcelVersion.Version2016);

            // 释放资源
            workbook.Dispose();
        }
    }
}

使用 C# 通过背景图片为 Excel 添加水印

在 Spire.XLS for .NET 中,PageSetup 类提供了 BackgroundImage 属性,可用于获取或设置工作表的背景图片,从而实现水印效果。

以下是在 C# 中通过背景图片为 Excel 添加水印的操作步骤:

  • 创建 Workbook 对象
  • 从指定路径加载 Excel 文件
  • 加载图片文件,并转换为 Bitmap 格式
  • 获取工作簿中的指定工作表
  • 通过 Worksheet.PageSetup.BackgroundImage 属性将图片设置为工作表背景
  • 将结果保存为新的 Excel 文件

示例代码如下:

cs 复制代码
using Spire.Xls;
using System.Drawing;

namespace 通过背景图片为Excel添加水印
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 对象
            Workbook workbook = new Workbook();

            // 加载 Excel 文档
            workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx");

            // 加载图片文件
            Bitmap bitmapImage = new Bitmap(Image.FromFile("C:\\Users\\Administrator\\Desktop\\sample.png"));

            // 遍历文件中的所有工作表
            for (int i = 0; i < workbook.Worksheets.Count; i++)
            {
                // 获取指定工作表
                Worksheet worksheet = workbook.Worksheets[i];

                // 将图片设置为工作表背景
                worksheet.PageSetup.BackgoundImage = bitmapImage;
            }

            // 保存结果文件
            workbook.SaveToFile("AddWatermark.xlsx", ExcelVersion.Version2016);

            // 释放资源
            workbook.Dispose();
        }
    }
}

总结

本文演示了如何使用 C# 通过背景图片为 Excel 工作表添加水印效果。整体实现思路是利用 Spire.XLS 提供的 Workbook 和 PageSetup 功能,将图片设置为工作表的背景,从而在视觉上形成水印效果。

实现流程主要包括:先创建 Workbook 对象并加载目标 Excel 文件,然后读取图片并转换为 Bitmap 格式。接着遍历工作簿中的所有工作表,将背景图片应用到每个 Sheet 的 PageSetup 属性中,最后保存为新的 Excel 文件并释放资源。

这种方式可以快速为多个工作表统一添加背景水印,适用于需要批量标识文档或进行品牌标注的场景。不过需要注意的是,背景图片水印在打印时通常不会被保留,因此更适合用于屏幕展示场景。

相关推荐
灵析表格4 小时前
灵析表格财务函数深度实用性分析与实操教程
开发语言·ai·json·excel·wps
杰夫(简道云个人搭建)9 小时前
SAAS系统应该先解决业务问题,再优化体验
数据库·人工智能·低代码·excel·个人开发
AI导出鸭1 天前
怎么让豆包做表格?AI导出鸭苹果版将豆包输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
Am-Chestnuts3 天前
AI表格复制到Excel后日期金额和编号被改写:导入与格式检查方法
excel
方渐鸿3 天前
【无标题】使用Agent总结网页信息写入Excel
ai·excel
汉拓3D数字化3 天前
设计标准化怎么落地?企业设计标准化的5阶段实施路径
科技·excel·系统·软件
灵析表格3 天前
json_ObjectToKV 函数:Excel解析JSON对象的权威方案
json·excel
灵析表格3 天前
灵析表格文本处理函数技术白皮书:WPS Excel 官方函数扩展库 18 项文本规整与正则批处理企业落地标准
ai·json·excel·wps
灵析表格4 天前
WPS Excel官方函数扩展库数据安全加密校验函数深度研究报告:Excel国密SM3/SM4加解密、MD5摘要、UUID、Base64与URL编解码全栈解析
excel·wps
AC赳赳老秦4 天前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw