如下內容經過C#及VB.NET代介紹如何給Excel文檔添加數字簽名,以及刪除Excel文檔中已有的數字簽名。工具使用最近發佈的Spire.XLS for .NET 版本10.11.2,可在官網下載包,或者經過Nuget搜索下載;編輯代碼前,注意先將Spire.XLS.dll添加引用到VS,並添加相應using指令,以下添加引用效果:html
C#git
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
數字簽名添加效果:spa
C#code
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.NETorm
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
運行程序後,原有的簽名已刪除。htm