有時,我們可能需要某些單元格只讀,如在做模板時,模板中的數據是不能隨意讓別人改的。在Excel中,可以通過“審閱->保護工作表”來完成,如下圖:
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
sheet1.ProtectSheet("password");//設置密碼
HSSFRow row1 = sheet1.CreateRow(0);
HSSFCell cel1 = row1.CreateCell(0);
HSSFCell cel2 = row1.CreateCell(1);
HSSFCellStyle unlocked = hssfworkbook.CreateCellStyle();
unlocked.IsLocked = false;
HSSFCellStyle locked = hssfworkbook.CreateCellStyle();
locked.IsLocked = true;
cel1.SetCellValue("沒被鎖定");
cel1.CellStyle = unlocked;
cel2.SetCellValue("被鎖定");
cel2.CellStyle = locked;
正如代碼中所看到的,我們通過設置CellStype的ISLocked為True,表示此單元格將被鎖定。相當於在Excel中執行了如下操作:
執行結果如下:
沒被鎖定的列可以任意修改。
鎖定的點擊編輯就會提示:
需要輸入密碼才可以(這里密碼是我們上面設置的password)