2013-02-26 56 views
0

當我使用Apache POI創建受保護的圖紙時,默認情況下所有單元格都受到保護。我必須單獨解鎖每個單元格。是否有可能保護工作表將默認所有單元格不受保護(以便我只保護單元格,爲什麼我需要)。Apache POI:在受保護的圖紙上默認創建不受保護的單元格

(用代碼)

/*for sheet protection*/ 
sheet.protected("password"); 
/*creating style to unlock cell */ 
CellStyle unlockedCellStyle = workbook.createCellStyle(); 
unlockedCellStyle.setLocked(false); 

/*applying unlock style to cell */ 
cell.setCellStyle(unlockedCellStyle); 
+0

http://stackoverflow.com/questions/8502552/make-column-as-read-only-using-apache-poi – ravi 2015-10-09 11:08:06

回答

0

它不可能有創建的細胞默認爲解鎖;鎖定是默認設置。但是,通過創建一個鎖定爲false的CellStyle,您處於正確的軌道上。確保您將任何和所有想要解鎖的新對象都鎖定爲false。此外,Excel對可在Workbook中創建的單元格樣式數量有限制,因此要重新使用CellStyle對象與您創建的每個Cell

0

可以更改apache POI中的默認單元格樣式。
如果您的單元格完成了getCellStyle(),則不會爲您的單元格創建新的單元格樣式,而是會返回默認的單元格樣式,並且您可以根據this編輯它,

getCellStyle永不返回null,如果是新單元格,它將返回默認的單元格樣式。

所以基本上編輯一個單元格的默認單元格樣式,要麼在新創建的單元格上執行getCellStyle,要麼嘗試這個workbook.getCellStyleAt(0)
有關更多詳細信息,請參閱this