Java 如何在Excel工作表中仅锁定单元格内容
我正在使用JavaPOI库将一些数据导出到Excel。此数据中的某些单元格必须是只读的。我通过以下方式实现:Java 如何在Excel工作表中仅锁定单元格内容,java,excel,locking,apache-poi,cell,Java,Excel,Locking,Apache Poi,Cell,我正在使用JavaPOI库将一些数据导出到Excel。此数据中的某些单元格必须是只读的。我通过以下方式实现: CellStyle lockedCell = workbook.createCellStyle(); lockedCell.setLocked(true); cell.setCellStyle(lockedCell); 之后: workbook.getSheetAt(workbook.getActiveSheetIndex()).protectSheet(""); 它工作得很好,但有
CellStyle lockedCell = workbook.createCellStyle();
lockedCell.setLocked(true);
cell.setCellStyle(lockedCell);
之后:
workbook.getSheetAt(workbook.getActiveSheetIndex()).protectSheet("");
它工作得很好,但有一个问题-我无法修改包含锁定单元格的列的宽度
是否可以只锁定单元格的内容,以便修改列宽?我认为不可能只允许用户修改锁定单元格的宽度 相反,您可以在填充数据后调用autoSizeColumncolNumber;在工作表上为填充的每个列显示
int colMaxLength = workbook.getActiveSheetIndex().getRow(0).getLastCellNum();
HSSFSheet activeSheet = workbook.getSheetAt(workbook.getActiveSheetIndex());
for(int i = 0 ; i < colMaxLength ; i++){
activeSheet.autoSizeColumn(i);
}