[alibaba/easyexcel]afterCellDispose方法中设置表头锁定。开启sheet保护,整个sheet被锁。

2024-03-07 579 views
7

需求为下载模板只想锁定表头行,放开其他行操作 但是整个sheet被锁。debug发现只读取表头后,读取不了模板的空格单元格

回答

2

尝试用注解 @HeadStyle(locked = true)

1

单独使用注解,不配合protectSheet,注解无法生效吗?

5

是需要使用protectSheet的
建议在sheetCreate之后

4

context.getWriteSheetHolder().getSheet().protectSheet("")

8

这边加了protectSheet后是锁住整个sheet;而不是只锁表头呢。。 public class CustomerWriteHandler implements SheetWriteHandler{

@Override
public void afterSheetCreate(SheetWriteHandlerContext context) {
    context.getWriteSheetHolder().getSheet().protectSheet("");
}

}

EasyExcel.write(response.getOutputStream(), AssetType.class) .sheet("资产导入模板") .excludeColumnFiledNames(excludeColumnFiledNames) .registerWriteHandler(new CustomerWriteHandler()) .doWrite(Collections.EMPTY_LIST);

9

做不到,似乎POI也做不到 但是可以冻结表头

6

好的。感谢回复