锁定JXL生成的Excel文档中的单元格

Jan*_*nne 2 java jxl

有没有办法锁定某些单元格不被用户编辑?我尝试过以下方法:

WritableCellFormat cf = new WritableCellFormat();
cf.setLocked(true);
sheet.addCell(new Number(col, row, value, cf));
Run Code Online (Sandbox Code Playgroud)

但是,这似乎对生成的电子表格没有任何影响,即在Excel中打开文件时仍可以更改单元格内容.

fon*_*ius 5

你必须为每张纸"激活"保护.我不应该知道应该怎么做.我发现的方法是

sheet.setProtected(true);
Run Code Online (Sandbox Code Playgroud)

但显然不再推荐这种方法.所以你应该尝试找一些新的.

编辑:对不起,我的错误.这会锁定工作表中的每个单元格.

编辑2:如果你锁定entiry表然后解锁可编辑单元格,它对我有用.

sheet.getSettings().setProtected(true);
WritableCellFormat unlocked = new WritableCellFormat();
unlocked.setLocked(false);
Label l = new Label(0, 0, "", unlocked);
sheet.addCell(l);
Run Code Online (Sandbox Code Playgroud)