当我使用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 :(得分:0)
创建的单元格无法解锁;锁定是默认值。但是,通过创建锁定设置为false的CellStyle
,您可以走上正轨。确保在要解锁的任何和所有新CellStyle
对象上设置锁定为false。此外,Excel对可以在Workbook
中创建的单元格样式数量有限制,因此请对您创建的每个CellStyle
重复使用Cell
个对象。
答案 1 :(得分:0)
可以在apache POI中更改默认单元格样式
如果您在单元格上完成getCellStyle()
,则不会为您的单元格创建新的单元格样式,而是返回默认的单元格样式,您可以对其进行编辑,
根据{{3}}。
getCellStyle
永远不会返回null,如果是新单元格,它将返回默认的单元格样式。
所以基本上编辑单元格的默认单元格样式,在新创建的单元格上执行getCellStyle
或尝试此workbook.getCellStyleAt(0)
。
有关详细信息,请参阅this。
答案 2 :(得分:0)
您可以执行 XSSFCellStyle defaultCellStyle = wb.getCellStyleAt(0);
来获取默认单元格样式,然后执行 defaultCellStyle.setLocked(false);
这会将您的工作簿的默认单元格样式更改为解锁。