一、程式環境
以下內容通過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
數字簽名添加效果:

2. 洗掉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
運行程式后,原有的簽名已洗掉,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/210975.html
標籤:.NET技术
上一篇:ASP.NET Core 5.0 Web API 自動集成Swashbuckle
下一篇:從頭開始學MFC
