工具/材料
Excel版本:2013
編譯環境:IntelliJ IDEA2018
JDK版本:1.8.0
Excel庫工具:spire.xls.jar 4.3.4
數字證書及密碼
操作方法
01
在IDEA項目文件夾路徑下,存入壹個Excel文件,版本為2013版本的xlsx文件;以及已知密碼的pfx格式的數字證書。如圖:
02
在idea項目引入excel庫工具spire.xls.jar的包,如圖:
03
在程序中鍵入如下代碼:
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();
}
}
04
執行程序,生成文檔。在結果文檔中查看簽名添加效果:
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();
}
}
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();
}
}
執行程序代碼後,生成的結果文檔中不再有簽名。
特別提示
代碼中的路徑為IDEA項目文件夾路徑,路徑也可另外自定義。