当前位置:   article > 正文

EasyExcel设置空单元格格式为文本_easyexcel设置单元格格式为文本

easyexcel设置单元格格式为文本

EasyExcel设置空单元格格式为文本

导语

本文是解决空白表格设置格式为文本并不需要表格中有内容,适合导出编写模版的需求。我在网上找了一圈也没具体的解决方案,有很多只能修改有文本数据的文章而且大多数都是复制粘贴的,并不能解决空白表格格式修改的问题。在这分享一下我的解决方案希望可以帮到大家!

解决方式

在SheetWriteHandler的实现方法中,在afterSheetCreate方法中创建表格之前加入表格的格式,即可实现具体代码如下:

public class CustomSheetWriteHandler  implements SheetWriteHandler {
    @Override
    public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {}

    @Override
    public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
        for (int i = 0; i < 100; i++) {
            // 设置为文本格式
            SXSSFSheet sxssfSheet = (SXSSFSheet) writeSheetHolder.getSheet();
            CellStyle cellStyle = writeWorkbookHolder.getCachedWorkbook().createCellStyle();
            // 49为文本格式
            cellStyle.setDataFormat((short) 49);
			// i为列,一整列设置为文本格式
            sxssfSheet.setDefaultColumnStyle(i, cellStyle);

        }
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

最后在使用的时候不要忘了注册改样式,可参考以下代码注册

 EasyExcel.write(filePath).head(head(list)).sheet("模板")
                .registerWriteHandler(new CustomSheetWriteHandler())
                .registerWriteHandler(new CustomCellWriteHandler()).doWrite(new ArrayList<>(0));
  • 1
  • 2
  • 3

实现效果

可以看到一整列都修改为了文本格式,具体如下图:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/837712
推荐阅读
相关标签
  

闽ICP备14008679号