加固數據安全:Java助力保護Excel文件,讓數據無懈可擊

摘要:本文由葡萄城技術團隊於博客園原創並首發。轉載請註明出處:葡萄城官網,葡萄城爲開發者提供專業的開發工具、解決方案和服務,賦能開發者。

前言

Excel文件保護是常用的一種功能,文件保護主要有三種:

  1. 添加密碼,如果沒有密碼不允許打開文件。
  2. 添加密碼,如果沒有密碼,不能修改文件,但可以打開,只讀以及另存文件。
  3. 只讀推薦,通常推薦打開Excel文件的用戶使用只讀模式打開,這種方式僅是一種提示,並非強行保護文件。

給Excel添加保護

情況1:

下面的代碼將展示如何打開名爲 "test.xlsx" 的 Excel 文件,並將其另存爲 "password.xlsx"。在保存時,使用 XlsxSaveOptions 對象將密碼設置爲 "123456",以確保數據的安全性。

Workbook wb = new Workbook();
 wb.open("test.xlsx");
 XlsxSaveOptions options = new XlsxSaveOptions();
 options.setPassword("123456");
 wb.save("password.xlsx", options);

情況2:

與情況1一樣,打開test.xlsx文件,並添加只讀型密碼,同時修改密碼設置人的信息。

Workbook wb = new Workbook();
 wb.open("resources/test.xlsx");
 wb.getWriteProtection().setWritePassword("123456");
 wb.getWriteProtection().setWriteReservedBy("J123");
 wb.save("output/readOnlyByPassword.xlsx");

打開“readOnlyByPassword.xlsx”時,可以看到下圖:

情況3:

添加一個推薦只讀的設置給readonly.xlsx文件。

Workbook wb = new Workbook();
 wb.open("test.xlsx");
 wb.getWriteProtection().setReadOnlyRecommended(true);
 wb.save("output/readonly.xlsx");

給Excel解除保護

情況1:

移除Excel文件的密碼,代碼如下。

Workbook wb = new Workbook();
 wb.open("output/password.xlsx", "123456");
 wb.unprotect("123456");
 wb.save("output/passwordUn.xlsx");

情況2:

移除Readonly寫保護。

Workbook wb = new Workbook();
   XlsxOpenOptions option = new XlsxOpenOptions();
   option.setPassword("123456");
   wb.open("output/readOnlyByPassword.xlsx", option);
   wb.getWriteProtection().setWritePassword(null);
   wb.save("output/readOnlyByPasswordUn.xlsx");

情況3:

移除Readonly推薦設置

Workbook wb = new Workbook();
 wb.open("resources/ErrorData.xlsx");
 wb.getWriteProtection().setReadOnlyRecommended(false);
 wb.save("output/readonlyUn.xlsx");

總結

Java提供了一種方便而可靠的方法,可以爲Excel文件添加保護以確保數據的安全性和完整性。通過這些工具,可以輕鬆地創建、編輯和保護Excel文件,並將其保存到本地磁盤或其他存儲設備中,除此之外,如果您對我們的產品GcExcel感興趣的話可以訪問官網瞭解更多詳細信息。(https://www.grapecity.com.cn/developer/grapecitydocuments/excel-java)

擴展鏈接:

從表單驅動到模型驅動,解讀低代碼開發平臺的發展趨勢

低代碼開發平臺是什麼?

基於分支的版本管理,幫助低代碼從項目交付走向定製化產品開發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章