我正在使用POI库在XLS文件上执行一些Java代码。我试图将某些工作表设置为非常隐藏,以便用户完全无法访问它们。
非常隐藏的工作表的定义
http://www.kiranjholla.com/myblog/2010/03/the-very-hidden-sheet-in-excel.html
代码
// Creates and hides a sheet
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
HSSFSheet hiddenSheet = workbook.createSheet(sheetName);
workbook.setSheetHidden(workbook.getSheetIndex(sheetName), HSSFWorkbook.SHEET_STATE_VERY_HIDDEN);
问题
不幸的是,当我打开生成的Excel文件时,我要隐藏的工作表显示为隐藏,但是用户仍然可以使用“格式”->“工作表”->“显示”选项来访问它们。
谢谢你的帮助。
最佳答案
如果您不希望用户访问工作表,则必须先对其进行密码保护,然后再将其设置为隐藏状态:
workbook.getSheetAt(0).protectSheet("abc");
workbook.setSheetHidden(0, HSSFWorkbook.SHEET_STATE_VERY_HIDDEN);
希望对您有所帮助
关于java - POI-将工作表设置为非常隐藏无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40998361/