默认情况下,JavaApachePOI锁定所有单元格。如何使所有单元格解锁?
如何在默认情况下解锁图纸中的所有单元格
此代码段将创建一个所有单元格都已锁定的图纸
SXSSFWorkbook wb = new SXSSFWorkbook();
Sheet sheet = wb.createSheet("Results");
Row row = sheet.createRow(rowCounter);
Cell cell = row.createCell(counter);
cell.setCellValue("test");
试图打开excel文件时,此代码段会导致一些损坏的数据
SXSSFWorkbook wb = new SXSSFWorkbook();
Sheet sheet = wb.createSheet("Results");
Row row = sheet.createRow(rowCounter);
Cell cell = row.createCell(counter);
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setLocked(false);
cell.setCellStyle(cellStyle);
cell.setCellValue("test");
此代码段不会导致任何问题,但也会解锁单元格。我可以修改所有单元格,但如果单击“格式”,则“锁定单元格”链接将高亮显示
SXSSFWorkbook wb = new SXSSFWorkbook();
Sheet sheet = wb.createSheet("Results");
Row row = sheet.createRow(rowCounter);
Cell cell = row.createCell(counter);
cell.setCellValue("test");
cell.getCellStyle().setLocked(false);
# 1 楼答案
您的第一个片段不会使用POI 3.9生成带有锁定单元格的文档
正如预期的那样,单元格在生成的工作簿中是可编辑的
SXSSF是流式POI API。它针对将大量数据写入基于XML的电子表格进行了优化(普通的XSSF api将XML文档保存在内存中,并且在构建大型文档时可以使用大量内存)。如果不需要输出大型的基于XML的文档,我建议只使用XSSF api,因为SXSSF有一些限制和缺陷,而且没有很好的文档记录
另见: