JXL实现Excel单元格锁定分为两个部分:
Excel设置 Jxl代码 Excel设置
选中所有单元格右键[设置单元格格式],点击[保护]选项卡,将[锁定]前面的勾去掉。 选中需要锁定的单元格右键[设置单元格格式],点击[保护]选项卡,将[锁定]前面的勾勾上。 选中Excel上面的选项卡[审阅],点击[工作表保护],设置一下密码和保护级别。 然后在Excel中测试一下,步骤2中设置的单元格已经被保护不可以修改,其它单元格可以修改。 JXL代码片段
默认生成的sheet中所有的单元格都会被锁定,所以如果希望哪些cell不被锁定需要设置一下。下面是部分代码,其中颜色标注部分为关键代码。
outFile = new File(exlFilePath);
FileOutputStream os = new FileOutputStream(outFile); Workbook tBook = Workbook.getWorkbook(tmpFile); WritableWorkbook wbook = Workbook.createWorkbook(os,tBook); WritableSheet wsheet = wbook.getSheet(0); //先定义好解锁Format jxl.write.WritableCellFormat format_unlock = new jxl.write.Writabl eCellFormat(new WritableFont(WritableFont.createFont("宋体"), 10,Wr itableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE)); format_unlock.setBorder(Border.ALL,BorderLineStyle.THIN); format_unlock.setAlignment(Alignment.LEFT); format_unlock.setLocked(false); //设置解锁格式 Label wage = new Label(5, r, "", format_unlock); wsheet.addCell(wage);