C#/VB.NET 给Excel添加、删除数字签名
一、程序环境
以下内容通过C#及VB.NET代介绍如何给Excel文档添加数字签名,以及删除Excel文档中已有的数字签名。工具使用最近发布的Spire.XLS for .NET 版本10.11.2,可在官网下载包,或者通过Nuget搜索下载;编辑代码前,注意先将Spire.XLS.dll添加引用到VS,并添加相应using指令,如下添加引用效果:
二、C# / VB示例代码
1. 添加数字签名
C#
using Spire.Xls; using Spire.Xls.Core.MergeSpreadsheet.Interfaces; using System; using System.Security.Cryptography.X509Certificates; namespace DigitalSignature_XLS { class Program { static void Main(string[] args) { //创建Workbook实例 Workbook workbook = new Workbook(); //加载Excel文档 workbook.LoadFromFile("sample.xlsx"); //添加数字签名 X509Certificate2 cert = new X509Certificate2("gary.pfx", "123456"); DateTime certtime = new DateTime(2020, 7, 1, 7, 10, 36); IDigitalSignatures signature = workbook.AddDigitalSignature(cert, "Manager", certtime); //保存文档 workbook.SaveToFile("AddDigitalSignature.xlsx", FileFormat.Version2013); System.Diagnostics.Process.Start("AddDigitalSignature.xlsx"); } } }
VB.NET
Imports Spire.Xls Imports Spire.Xls.Core.MergeSpreadsheet.Interfaces Imports System.Security.Cryptography.X509Certificates Namespace DigitalSignature_XLS Class Program Private Shared Sub Main(args As String()) '创建Workbook实例 Dim workbook As New Workbook() '加载Excel文档 workbook.LoadFromFile("sample.xlsx") '添加数字签名 Dim cert As New X509Certificate2("gary.pfx", "123456") Dim certtime As New DateTime(2020, 7, 1, 7, 10, 36) Dim signature As IDigitalSignatures = workbook.AddDigitalSignature(cert, "Manager", certtime) '保存文档 workbook.SaveToFile("AddDigitalSignature.xlsx", FileFormat.Version2013) System.Diagnostics.Process.Start("AddDigitalSignature.xlsx") End Sub End Class End Namespace
数字签名添加效果:
2. 删除Excel中的数字签名
C#
using Spire.Xls; namespace RemoveSignature { class Program { static void Main(string[] args) { //加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("AddDigitalSignature.xlsx"); //删除文档中的数字签名 workbook.RemoveAllDigitalSignatures(); //保存文档 workbook.SaveToFile("RemoveDigitalSignature.xlsx", FileFormat.Version2013); System.Diagnostics.Process.Start("RemoveDigitalSignature.xlsx"); } } }
VB.NET
Imports Spire.Xls Namespace RemoveSignature Class Program Private Shared Sub Main(args As String()) '加载Excel文档 Dim workbook As New Workbook() workbook.LoadFromFile("AddDigitalSignature.xlsx") '删除文档中的数字签名 workbook.RemoveAllDigitalSignatures() '保存文档 workbook.SaveToFile("RemoveDigitalSignature.xlsx", FileFormat.Version2013) System.Diagnostics.Process.Start("RemoveDigitalSignature.xlsx") End Sub End Class End Namespace
运行程序后,原有的签名已删除。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
2019-11-11 Java加密、解密Word文档