我正在使用 Apache POI 库来保护 Excel 工作表,我保持一些单元格解锁并锁定其余单元格,此外我还隐藏了一些列。但是,当用户使用 CTRL+A 选择所有列时,他/她也可以复制所有数据,包括隐藏列。我在 Excel 中找到了一种阻止用户选择受保护单元格的方法,下面是相同的快照。从“选择锁定的单元格”中删除勾号将阻止用户选择受保护的单元格,但我无法找到在代码中执行相同操作的方法。如何使用 Apache POI 在代码中执行此操作?我正在使用下面的代码来读取工作簿对象。Workbook workbook = WorkbookFactory.create(new File(FILE_PATH));我能够隐藏列、保护工作表和解锁列,现在我想阻止用户选择锁定的单元格。
1 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
XSSFWorkbook 和 XSSFSheet 不使用 Workbook 对象,而是允许许多我想要的控件。
XSSFWorkbook workbook = (XSSFWorkbook )WorkbookFactory.create(new File(FILE_PATH));
XSSFSheet sheet = workbook.getSheet(SHEET_NAME);
sheet.enableLocking();
sheet.protectSheet(SHEET_PROTECT_PASSWORD);
sheet.lockSelectLockedCells(true);
添加回答
举报
0/150
提交
取消