数字签名是具有加密信息的电子签名,有助于验证消息、软件和数字文档的真实性。它们通常用于软件分发、金融交易、合同管理软件以及其他需要伪造或篡改检测的情况。在生成 Excel 报告时,您可能需要添加数字签名以使其看起来更加正式和更具真实性。 在本文中,您将学习如何使用 Spire.XLS for Java 在 Excel 中添加或删除数字签名。
安装 Spire.XLS for Java
首先,您需要在 Java 程序中添加 Spire.Xls.jar 文件作为依赖项。您可以从此链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>14.11.0</version>
</dependency>
</dependencies>
向 Excel 添加数字签名
您可以添加数字签名来保护 Excel 文件的完整性。添加数字签名后,文件将变为只读,以阻止进一步编辑。如果有人对文件进行更改,数字签名将立即失效。
Spire.XLS for Java 提供了 Workbook 类的 addDigitalSignature 方法来向 Excel 文件添加数字签名。详细步骤如下:
- 实例化一个 Workbook 实例。
- 使用 Workbook.loadFromFile() 方法加载 Excel 文件。
- 初始化 CertificateAndPrivateKey 类的对象,将 FPX 文件的路径和密码作为参数传递其中。
- 使用 Workbook.addDigitalSignature(CertificateAndPrivateKey, String, Date) 方法向文件添加数字签名。
- 使用 Workbook.saveToFile() 方法保存结果文件。
- Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.digital.CertificateAndPrivateKey;
import java.util.Date;
public class AddDigitalSignature {
public static void main(String []args) throws Exception {
//创建一个 Workbook 实例
Workbook workbook=new Workbook();
//加载 Excel 文件
workbook.loadFromFile("Test.xlsx");
//向文件添加数字签名
CertificateAndPrivateKey cap = new CertificateAndPrivateKey("Gary.pfx","e-iceblue");
workbook.addDigitalSignature(cap, "e-iceblue",new Date());
//保存结果文件
workbook.saveToFile("添加数字签名.xlsx", ExcelVersion.Version2013);
}
}
从 Excel 中删除数字签名
Spire.XLS for Java 提供了 Workbook 类的 removeAllDigitalSignatures 方法,供开发人员从 Excel 文件中删除数字签名。 详细步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook.loadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.removeAllDigitalSignatures() 方法从文件中删除所有数字签名。
- 使用 Workbook.saveToFile() 方法保存结果文件。
- Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
public class DeleteDigitalSignature {
public static void main(String []args) throws Exception {
//创建一个 Workbook 实例
Workbook workbook = new Workbook();
//加载 Excel 文件
workbook.loadFromFile("添加数字签名.xlsx");
//从文件中删除所有数字签名
workbook.removeAllDigitalSignatures();
//保存结果文件
workbook.saveToFile("删除数字签名.xlsx", ExcelVersion.Version2013);
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。