赞
踩
- // 单元格样式锁定 不可编辑
- CellStyle lockStyle = workbook.createCellStyle();
- lockStyle.setLocked(true);
-
- // 单元格样式不锁定
- CellStyle unlockStyle = workbook.createCellStyle();
- lockStyle.setLocked(false);
-
- // 创建行
- Row row = sheet.createRow(rownum);
- // 创建一个单元格
- Cell cell = row.createCell(columnnum);
-
- // 单元格设置为不可编辑
- cell.setCellStyle(lockStyle);
-
- // 单元格设置为可编辑
- cell.setCellStyle(unlockStyle);
-
- // 只有开启保护后,锁定样式才会生效,然后希望单元格依然可以编辑的话,必须设置为unlockStyle
- sheet.protectSheet("123456");
-
-
- // 行A1, 列A1的开启刷选
- CellRangeAddress c = CellRangeAddress.valueOf("A1:A1");
- sheet.setAutoFilter(c);
-
- // 高版本的POI 锁定的筛选关闭
- sheet.lockAutoFilter(false);
-
- // 低版本的POI 没有 lockAutoFilter(Boolean var) 方法, 使用以下方式
- CTWorksheet ctWorksheet = ((XSSFSheet) this.sheet).getCTWorksheet();
- if (ctWorksheet.getSheetProtection() == null) {
- ctWorksheet.setSheetProtection(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetProtection.Factory.newInstance());
- }
- // 设置保护的工作表自动过滤锁定关闭
- ctWorksheet.getSheetProtection().setAutoFilter(false);
- ctWorksheet.getSheetProtection().setFormatCells(false);
- ctWorksheet.getSheetProtection().setFormatColumns(false);
- ctWorksheet.getSheetProtection().setFormatRows(false);
- sheet.createFreezePane(7, 2, 0, 0);
-
- // createFreezePane(int colSplit, int rowSplit, int leftmostColumn, int topRow)
- // 方式参数解释
- // colSplit: 冻结列数
- // rowSplit: 冻结行数
- // leftmostColumn: 冻结开始列
- // topRow:冻结开始行
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。