繁体   English   中英

如何仅锁定Excel工作表中的单元格内容

[英]How to lock only cell content in Excel sheet

我正在使用Java POI库将某些数据导出到Excel。 此数据中的某些单元格必须是只读的。 我做到了:

CellStyle lockedCell = workbook.createCellStyle();
lockedCell.setLocked(true);
cell.setCellStyle(lockedCell);

然后:

workbook.getSheetAt(workbook.getActiveSheetIndex()).protectSheet("");

它工作得很好,但是有一个问题-我无法修改包含锁定单元格的列的宽度。

是否可以仅锁定单元格的内容,以便修改列的宽度?

我认为不可能仅在锁定的单元格上允许用户宽度修改。

您可以做的是,在填充数据后,调用autoSizeColumn(colNumber); 在工作表上填充的每一列。

int colMaxLength = workbook.getActiveSheetIndex().getRow(0).getLastCellNum();
HSSFSheet activeSheet = workbook.getSheetAt(workbook.getActiveSheetIndex());
for(int i = 0 ; i < colMaxLength ; i++){
   activeSheet.autoSizeColumn(i);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM