如何使用 Apache POI 保护工作簿的结构,就像在 Excel GUI 上所做的那样?

问题描述 投票:0回答:1

像这样:Excel GUI->审阅->保护工作簿->保护工作簿的结构->输入密码。

我尝试过API HSSFWorkbook.writeProtectWorkbook(String password, String username),但没有按我的预期工作。在我的情况下,打开文件时输入密码是完全没有必要的,但只需要结构保护。

excel apache-poi
1个回答
0
投票

对于那些使用

SXSSFWorkbook
代替其他练习册的人,
您可以像 Excel GUI 一样保护您的工作簿:

// assuming the class of this workbook is SXSSFWorkbook 
SXSSFWorkbook wb = (SXSSFWorkbook) workbook; 

// prevent from modifying the content 
wb.getSheet("sheetName");
sheet.protectSheet("modify-passwd"); 
wb.setSheetVisibility(wb.getSheetIndex(sheet), SheetVisibility.HIDDEN); 

// keep hiding until entering the password 
XSSFWorkbook xssfWorkbook = wb.getXSSFWorkbook();
xssfWorkbook.lockStructure();
xssfWorkbook.setWorkbookPassword("hide-passwd", HashAlgorithm.sha512); 

// Wow ,it works!

根据阿克塞尔·里希特的回答。非常感谢

© www.soinside.com 2019 - 2024. All rights reserved.