excel 单元格的锁定 以及 JXL的实现方式
在使用excel表格时,有些列是不希望用户可以修改的,诸如审计日志里面确定的部分,而审计人,审计时间等则是需要审计员进行修改的。所以就涉及到不同表格是否可以修改的情况。?1在excel中方法如下:?
先选中希望别人填写或修改的部分,然后鼠标右键:?
设置单元格格式----保护--把锁定前面的对号清除--确定?
然后选 工具--保护--保护工作表 (密码自己掌握,怕忘就空) --确定?
2先在要设置锁定的单元格属性中设置,“单元格格式”——“保护”——“锁定”,然后把开放的单元格属性中的“锁定”取消。然后点菜单“工具”——“保护”——“保护工作表”——“保护工作表及锁定的单元格内容”,将“允许次工作表的所有用户进行”下面的复选框除“选定锁定单元格”外的全部打勾就可以了,你还可以设定一个保护密码。?当然,如果通过JXL来操作导出的单元格,还要使用以下方式:?先在代码中新建一个“解锁”的格式如下:jxl.write.WritableCellFormat format_unlock = new jxl.write.WritableCellFormat();
????format_unlock.setLocked(false);?确定你将要导出的excel文件:OutputStream os = new FileOutputStream(excelName+".xls");
?????WritableWorkbook wwb = Workbook.createWorkbook(os);
?????WritableSheet ws = wwb.createSheet(excelName, 0);?查找所需的列,加入新的cell,同时为该cell设置format为解锁if(fieldlist.get(i).getAttribute().equals("something")){
????????ws.addCell(new Label(i, row, ee.getsomething()));
????????ws.getWritableCell(i, row).setCellFormat(format_unlock);
???????}?最后在sheet中设置该表单为protected格式ws.setProtected(true);