Excel中可添加數字簽名以供文檔所有者申明文檔的所有權或有效性。文本以Java代碼示例介紹如何在Excel文檔中對數字簽名功能進行相關操作,包括如何添加簽名到Excel、檢測Excel文檔是否已簽名,以及如何刪除Excel文檔中的簽名。
本次代碼測試環(huán)境
- Excel版本:2013
- 編譯環(huán)境:IntelliJ IDEA2018
- JDK版本:1.8.0
- Excel庫工具:spire.xls.jar 4.3.4
- pfx數字證書(及密碼)
下面分別以三個代碼塊來展示如何實現。
1. 添加簽名
import com.spire.xls.*;
import com.spire.xls.digital.CertificateAndPrivateKey;
import java.util.Date;
public class AddSignature {
public static void main(String[] args) throws Exception {
//加載Excel工作簿
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx");
//添加數字簽名
wb.addDigitalSignature(new CertificateAndPrivateKey("cer.pfx","123654yes!"), "The Author is Mia",new Date());
//保存文檔
wb.saveToFile("AddSignature.xlsx",ExcelVersion.Version2013);
wb.dispose();
}
}

圖1-簽名效果
2.檢測是否簽名
import com.spire.xls.*;
public class DetectSignature {
public static void main(String[] args) {
//加載Excel工作簿
Workbook wb = new Workbook();
wb.loadFromFile("AddSignature.xlsx");
//判斷文檔是否簽名
boolean signature = wb.isDigitallySigned();
if(signature==true)
{
System.out.println("文檔已簽名!");
}
else
{
System.out.println("未簽名文檔!");
}
}
}
3.刪除簽名
import com.spire.xls.*;
public class RemoveSignature {
public static void main(String[] args) {
//加載Excel工作簿
Workbook wb = new Workbook();
wb.loadFromFile("AddSignature.xlsx");
//刪除簽名
wb.removeAllDigitalSignatures();
//保存文檔
wb.saveToFile("RemoveSignature.xlsx",ExcelVersion.Version2013);
wb.dispose();
}
}
執(zhí)行程序代碼后,生成的結果文檔中不再有簽名。
以上,是本文關于Java程序代碼中操作excel數字簽名的方法。
相關文章推薦閱讀
可搜索公眾號【Office文檔開發(fā)】查看更多Java 操作Office文檔的方法。