我正在使用Java POI库将一些数据导出到Excel。此数据中的某些单元格必须是只读的。我通过以下方式实现:
workbook.getSheetAt(workbook.getActiveSheetIndex()).protectSheet("");
之后:
curl -XGET 'http://localhost:9200/books/fantasy/_search?from=0&size=10&q=%2A' -d '{
"query":{
"filtered":{
"filter":{
"exists":{
"field":"speacial.ean"
}
}
}
}
}'
它工作得很好,但有一个问题 - 我无法修改包含锁定单元格的列的宽度。
是否可以仅锁定单元格的内容,以便我可以修改列宽?
答案 0 :(得分:0)
我认为不可能只对锁定的单元格进行用户宽度修改。
相反,您可以在填充数据后,在工作表上为每个填充的列调用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);
}