C#代码实现在Excel中添加或删除数字签名
作者:2501_93070778
数字签名是一种电子签名形式,可用于验证数字文档的真实性和完整性,本文将演示如何使用 Spire.XLS for .NET,在 C# 和 VB.NET 中为 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);
}
}
}到此这篇关于C#代码实现在Excel中添加或删除数字签名的文章就介绍到这了,更多相关C#添加或删除Excel数字签名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
