前言
Excel檔案保護是常用的一種功能,檔案保護主要有三種:
- 新增密碼,如果沒有密碼不允許開啟檔案。
- 新增密碼,如果沒有密碼,不能修改檔案,但可以開啟,只讀以及另存檔案。
- 只讀推薦,通常推薦開啟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感興趣的話可以訪問官網瞭解更多詳細資訊。
擴充套件連結:
從表單驅動到模型驅動,解讀低程式碼開發平臺的發展趨勢
低程式碼開發平臺是什麼?
基於分支的版本管理,幫助低程式碼從專案交付走向定製化產品開發