Java 給Excel添加數字簽名

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文檔的方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容