[英]How to protect worksheets in XSSFWorkbook using Apache poi library?
How to protect worksheets in XSSFWorkbook using Apache poi library? 如何使用Apache poi库保护XSSFWorkbook中的工作表? I saw many solutions on SO and other sites but they are old or not working.
我在SO和其他站点上看到了许多解决方案,但是它们已经过时或无法正常工作。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>
Below is the sample code: 下面是示例代码:
FileInputStream excelFile = new FileInputStream(new File(FILE_NAME));
XSSFWorkbook workbook = new XSSFWorkbook(FILE_NAME);
XSSFSheet s = (XSSFSheet) workbook.getSheetAt(0);
s.enableLocking();
s.lockDeleteColumns(true);
s.protectSheet("password");
workbook.lockStructure();
workbook.close();
After trying for hours I found the issue and it was very stupid mistake. 尝试了几个小时后,我发现了问题,这是非常愚蠢的错误。 workbook does not update itself, instead we have to create new workbook which will have the protected sheet.
工作簿不会自我更新,而是必须创建具有受保护工作表的新工作簿。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.