摘要:本文由葡萄城技術團隊於博客園原創並首發。轉載請註明出處:葡萄城官網,葡萄城爲開發者提供專業的開發工具、解決方案和服務,賦能開發者。
前言
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感興趣的話可以訪問官網瞭解更多詳細信息。(https://www.grapecity.com.cn/developer/grapecitydocuments/excel-java)
擴展鏈接: