news 2026/5/10 0:53:07

使用C#代码在 Excel 中添加或删除数字签名

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用C#代码在 Excel 中添加或删除数字签名

数字签名是一种电子签名形式,可用于验证数字文档的真实性和完整性。它可以帮助接收者确认文档的来源,并判断文档在签署之后是否被第三方篡改。本文将演示如何使用 Spire.XLS for .NET,在 C# 和 VB.NET 中为 Excel 添加或删除数字签名。

安装 Spire.XLS for .NET

首先,您需要将 Spire.XLS for .NET 软件包中包含的 DLL 文件添加为 .NET 项目的引用。您可以通过此链接下载这些 DLL 文件,或通过 NuGet 进行安装。

PM> Install-Package Spire.XLS

在 C# 和 VB.NET 中为 Excel 添加数字签名

您可以通过添加数字签名来保护 Excel 文件的完整性。添加数字签名后,文件将变为只读状态,以防止进一步编辑。如果有人对文件进行修改,数字签名将立即失效。

Spire.XLS for .NET 提供了 Workbook 类的 AddDigitalSignature 方法,用于为 Excel 文件添加数字签名。

具体步骤如下:

  • 初始化 Workbook 类的实例。

  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。

  • 使用指定的证书(.pfx)文件路径和 .pfx 文件密码,初始化 X509Certificate2 类的实例。

  • 初始化 DateTime 类的实例。

  • 使用 Workbook.AddDigitalSignature(X509Certificate2, string, DateTime) 方法为文件添加数字签名。

  • 使用 Workbook.SaveToFile() 方法保存结果文件。

示例代码如下:

using Spire.Xls; using Spire.Xls.Core.MergeSpreadsheet.Interfaces; using System; using System.Security.Cryptography.X509Certificates; namespace AddSignatureInExcel { class Program { static void Main(string[] args) { // 创建 Workbook 实例 Workbook workbook = new Workbook(); // 加载 Excel 文件 workbook.LoadFromFile("Sample.xlsx"); // 为文件添加数字签名 X509Certificate2 cert = new X509Certificate2("gary.pfx", "e-iceblue"); // 定义证书文件路径 string certificatePath = "gary.pfx"; DateTime certtime = new DateTime(2020, 7, 1, 7, 10, 36); // 使用证书为工作簿添加数字签名 IDigitalSignatures signature = workbook.AddDigitalSignature(certificatePath, "e-iceblue", "Signed by Gary Zhang", certtime); // 保存结果文件 workbook.SaveToFile("AddDigitalSignature.xlsx", FileFormat.Version2013); } } }

在 C# 和 VB.NET 中删除 Excel 中的所有数字签名

Spire.XLS for .NET 提供了 Workbook 类的 RemoveAllDigitalSignatures 方法,供开发者用于从 Excel 文件中移除数字签名。

具体步骤如下:

  • 初始化 Workbook 类的实例。

  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。

  • 使用 Workbook.RemoveAllDigitalSignatures() 方法移除文件中的所有数字签名。

  • 使用 Workbook.SaveToFile() 方法保存结果文件。

示例代码如下:

using Spire.Xls; namespace DeleteSignatureInExcel { class Program { static void Main(string[] args) { // 创建 Workbook 实例 Workbook workbook = new Workbook(); // 加载 Excel 文件 workbook.LoadFromFile("AddDigitalSignature.xlsx"); // 移除文件中的所有数字签名 workbook.RemoveAllDigitalSignatures(); // 保存结果文件 workbook.SaveToFile("RemoveDigitalSignature.xlsx", FileFormat.Version2013); } } }

申请临时许可证

如果您希望移除生成文档中的评估提示信息,或解除功能限制,请为自己申请一个 30 天的试用许可证。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 9:14:06

Java Web 大学生创新创业训练项目管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着高校创新创业教育的深入推进,大学生创新创业训练项目的数量与复杂度显著增加,传统的人工管理模式已难以满足项目申报、评审、进度跟踪和成果管理的需求。项目管理的数字化、智能化转型成为高校教育管理的重要课题。针对这一背景,开发…

作者头像 李华
网站建设 2026/5/5 9:32:26

Spring Boot 2.7 + JDK 8 升级到 Spring Boot 3.x + JDK 17 完整指南

Spring Boot 2.7 JDK 8 升级到 Spring Boot 3.x JDK 17 完整指南从 JDK 8 到 JDK 17,不只是版本号的跳跃,更是云原生时代的入场券。一、为什么要升级?JDK 8 已经发布了近 10 年(2014年),虽然稳定可靠&…

作者头像 李华
网站建设 2026/5/5 11:43:42

智能客服系统开源程序入门指南:从零搭建到生产环境部署

最近在做一个智能客服项目,从零开始搭建确实踩了不少坑。市面上商业方案虽多,但要么太贵,要么定制化困难,最终还是决定拥抱开源。这篇笔记就记录一下我基于开源程序搭建智能客服系统的完整过程,希望能给同样想自己动手…

作者头像 李华
网站建设 2026/5/6 6:31:25

零成本图像编辑替代方案:PhotoGIMP实战指南

零成本图像编辑替代方案:PhotoGIMP实战指南 【免费下载链接】PhotoGIMP A Patch for GIMP 2.10 for Photoshop Users 项目地址: https://gitcode.com/gh_mirrors/ph/PhotoGIMP 突破创作限制:三大场景下的开源解决方案 作为技术顾问,我…

作者头像 李华
网站建设 2026/5/6 8:52:57

探索量化回测新范式:backtesting.py架构解析与实战指南

探索量化回测新范式:backtesting.py架构解析与实战指南 【免费下载链接】backtesting.py :mag_right: :chart_with_upwards_trend: :snake: :moneybag: Backtest trading strategies in Python. 项目地址: https://gitcode.com/GitHub_Trending/ba/backtesting.py…

作者头像 李华