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

 更新时间:2026年02月28日 08:23:12   作者: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数字签名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • newtonsoft.json解析天气数据出错解决方法

    newtonsoft.json解析天气数据出错解决方法

    这篇文章主要介绍了NewtonSoft.JSon解析天气数据时出错的解决方法,需要的朋友可以参考下
    2014-02-02
  • C#利用ASP.NET Core开发学生管理系统详解

    C#利用ASP.NET Core开发学生管理系统详解

    随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NET Core也应运而生。本文主要利用ASP.NET Core开发一个学生管理系统,感兴趣的可以学习一下
    2022-01-01
  • Unity使用DoTween实现抛物线效果

    Unity使用DoTween实现抛物线效果

    这篇文章主要为大家详细介绍了Unity使用DoTween实现抛物线效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • C#使用DirectX.DirectSound播放语音

    C#使用DirectX.DirectSound播放语音

    这篇文章主要为大家详细介绍了C#使用DirectX.DirectSound播放语音,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C# Socket数据接收的三种实现方式

    C# Socket数据接收的三种实现方式

    本文主要介绍了C# Socket数据接收的三种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 用C#编写ActiveX控件(二)

    用C#编写ActiveX控件(二)

    用C#编写ActiveX控件(二)...
    2007-03-03
  • C#实现图像反色的方法

    C#实现图像反色的方法

    这篇文章主要介绍了C#实现图像反色的方法,涉及C#操作图像颜色转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C#实现FTP上传文件的方法

    C#实现FTP上传文件的方法

    这篇文章介绍了C#实现FTP上传文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C# Assembly.Load案例详解

    C# Assembly.Load案例详解

    这篇文章主要介绍了C# Assembly.Load案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C# xml序列化实现及遇到的坑

    C# xml序列化实现及遇到的坑

    在C#中,当我们需要将对象存储到文件或通过网络发送时,我们可以使用XML序列化将C#对象转换为XML文档,以便于存储、传输和还原,本文主要介绍了C# xml序列化实现及遇到的坑,感兴趣的可以了解一下
    2023-09-09

最新评论