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数字签名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#中迭代器和分部类的使用

    C#中迭代器和分部类的使用

    迭代器和分部类是C#语言的两种重要特性,本文主要介绍了C#中迭代器和分部类的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • C#实现设置和解除PPT文档保护的完整步骤

    C#实现设置和解除PPT文档保护的完整步骤

    本文将以示例的方式,介绍如何使用 Spire.Presentation for .NET 在 C# 和 VB.NET 中实现 PowerPoint 文档的保护与取消保护,感兴趣的小伙伴可以了解下
    2026-01-01
  • C#实现读取Word表格到DataSet

    C#实现读取Word表格到DataSet

    在应用项目里,多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求,但某些情况下,也存在使用 Word 进行表格数据编辑的情况,这其中也包括导入Word内容的功能,比如表格数据导出到DataSet数据集,本文将给大家介绍了C#读取Word表格到DataSet
    2023-12-12
  • C#通过不安全代码看内存加载的示例详解

    C#通过不安全代码看内存加载的示例详解

    C#中类型分为值类型和引用类型。这篇文章将用不安全代码的地址,来看一下值类型和引用类型的存储,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-07-07
  • C# 线程同步详解

    C# 线程同步详解

    本文主要介绍了C#中线程同步的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • C#以太网Sockets客户端设计实现

    C#以太网Sockets客户端设计实现

    本文主要介绍了C#以太网Sockets客户端设计实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 一文详解C# Chart控件

    一文详解C# Chart控件

    这篇文章主要介绍了一文学习C# Chart控件,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • C#实现Menu和ContextMenu自定义风格及contextMenu自定义

    C#实现Menu和ContextMenu自定义风格及contextMenu自定义

    ContextMenu 类表示当用户在控件或窗体的特定区域上单击鼠标右键时会显示的快捷菜单,要想实现自定义的Menu和ContextMenu效果,大家可以通过派生ProfessionalColorTable类,下面小编把实现Menu和ContextMenu自定义风格及ContextMenu自定义给大家整理一下
    2015-08-08
  • C#正则表达式Regex类的用法

    C#正则表达式Regex类的用法

    这篇文章介绍了C#正则表达式Regex类的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • 操作xml,将xml数据显示到treeview的C#代码

    操作xml,将xml数据显示到treeview的C#代码

    这篇文章主要介绍了操作xml,将xml数据显示到treeview的C#代码,有需要的朋友可以参考一下
    2013-11-11

最新评论