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

数字签名添加效果:

在这里插入图片描述

  1. 删除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

运行程序后,原有的签名c#教程已删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值