使用 GroupDocs.Signature for .NET 对 Excel 电子表格及其 VBA 项目进行数字签名

在当今的数字时代,确保 Excel 文件的真实性至关重要。无论是管理财务电子表格还是项目计划,添加数字签名都可以防止未经授权的更改。本教程将指导您使用以下工具对电子表格文档及其 VBA 项目进行数字签名: 适用于 .NET 的 GroupDocs.Signature

您将学到什么:

  • 为 .NET 设置 GroupDocs.Signature。
  • 仅对电子表格中的 VBA 项目进行数字签名。
  • 对电子表格文档及其 VBA 项目进行签名。
  • 优化您的实施以提高性能和安全性。

让我们先了解一下实现这些功能之前的先决条件。

先决条件

在开始之前,请确保您已:

  • .NET 框架 (版本 4.6.1 或更高版本)安装在您的系统上。
  • 对 C# 编程有基本的了解。
  • 访问 PFX 格式的数字证书以进行签名。

环境设置

使用 GroupDocs.Signature for .NET 准备您的开发环境。您可以通过不同的方法安装它:

使用 .NET CLI:

dotnet add package GroupDocs.Signature

使用包管理器:

Install-Package GroupDocs.Signature

或者,使用 NuGet 包管理器 UI 搜索“GroupDocs.Signature”并安装它。

许可证获取

获取免费试用版或购买临时许可证,探索 GroupDocs.Signature 的全部功能。访问 购买页面 有关获取许可证的更多详细信息。

为 .NET 设置 GroupDocs.Signature

使用以下设置初始化应用程序中的 GroupDocs.Signature 库:

using System;
using GroupDocs.Signature;

// 使用文档路径初始化签名实例
Signature signature = new Signature("YOUR_DOCUMENT_DIRECTORY/SAMPLE_SPREADSHEET_MACRO_SUPPORT.xlsx");

实施指南

仅签署 VBA 项目

概述

此功能允许您仅签署 Excel 电子表格中的 Visual Basic for Applications (VBA) 项目,确保宏代码保持不变,而无需签署整个文档。

逐步实施

1. 设置数字签名选项

using GroupDocs.Signature.Options;
using System.IO;

string certificatePath = "YOUR_DOCUMENT_DIRECTORY/CertificatePfx.pfx";
string password = "1234567890";

// 最初创建一个没有证书的 DigitalSignOptions 实例。
DigitalSignOptions signOptions = new DigitalSignOptions();

2.配置VBA项目签名

using GroupDocs.Signature.Domain;

// 添加仅对 VBA 项目进行数字签名的扩展
DigitalVBA digitalVBA = new DigitalVBA(certificatePath, password)
{
    SignOnlyVBAProject = true,
    Comments = "VBA Comment"
};

signOptions.Extensions.Add(digitalVBA);

3. 应用并保存签名

string outputFilePath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "SignSpreadsheetsVBAProject", "OnlyVBAProject.xlsm");

// 将签名应用于文档
signature.Sign(outputFilePath, signOptions);

签署电子表格文档和 VBA 项目

概述

此功能扩展了签名过程,包括电子表格文档及其嵌入的 VBA 项目,确保全面保护您的 Excel 文件的内容。

逐步实施

1.配置数字签名选项

// 设置带有证书的数字签名选项以进行完整文档签名。
DigitalSignOptions signOptions = new DigitalSignOptions(certificatePath)
{
    Signature = { Comments = "Comment" },
    Password = password
};

2. 添加 VBA 项目签名扩展

// 将 VBA 项目与文档一起签名
digitalVBA.Comments = "VBA Comment";
signOptions.Extensions.Add(digitalVBA);

3. 应用并保存组合签名

string outputFilePath = Path.Combine("YOUR_OUTPUT_DIRECTORY", "SignSpreadsheetsVBAProject", "DocumentAndVBAProject.xlsm");

// 对文档和 VBA 项目进行签名,然后将其保存为 outputFilePath。
signature.Sign(outputFilePath, signOptions);

故障排除提示

  • 确保您的证书路径正确且可访问。
  • 验证您的数字证书的密码以避免身份验证错误。

实际应用

  1. 财务报告:通过签署审计或报告中使用的电子表格来保护财务数据。
  2. 项目管理:保护嵌入在宏中的项目时间表和资源分配。
  3. 法律文件:通过以数字方式验证存储在 Excel 文件中的法律协议来确保合规性。
  4. 人力资源运营:使用数字签名保护员工记录和绩效评估。

性能考虑

  • 通过有效管理内存来优化您的应用程序,尤其是在处理大型文档时。
  • 使用异步签名流程,防止操作时阻塞主线程。
  • 定期更新 .NET 的 GroupDocs.Signature 以利用最新的性能改进。

结论

通过遵循本指南,您已经学会了如何使用 适用于 .NET 的 GroupDocs.Signature。这些功能增强了文档的安全性和完整性,这对于任何处理关键数据的组织来说都至关重要。

为了进一步探索,请考虑将 GroupDocs.Signature 与其他系统集成或探索时间戳和高级加密选项等附加功能。

常见问题解答部分

  1. 什么是数字证书?
    • 数字证书可以验证签名者的身份并确保文件的真实性。
  2. 我可以在没有 VBA 项目的情况下签署文件吗?
    • 是的,您可以使用 GroupDocs.Signature for .NET 对任何 Excel 文件进行数字签名。
  3. 仅签署 VBA 项目对我有什么好处?
    • 它可以保护您的宏代码免遭未经授权的更改,同时允许文档内容保持可编辑。
  4. 哪些版本的 .NET 与 GroupDocs.Signature 兼容?
    • GroupDocs.Signature 支持 .NET Framework 4.6.1 及更高版本。
  5. 我可以签署的文件数量有限制吗?
    • 不,您可以根据申请的需要对任意数量的文件进行数字签名。

资源

立即踏上安全文档签名之旅,充分利用 GroupDocs.Signature for .NET 的潜力!