[alibaba/easyexcel]怎么设置单元格格式问文本

2024-05-17 523 views
6

触发场景描述 在下载Excel的时候设置单元格格式为文本无效,查看了issue几个提出了相同问题好像也没给出解决办法

触发Bug的代码

      @Override
    public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer integer, Boolean aBoolean) {
        //设置单元格格式为文本
        Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
        CellStyle cellStyle = workbook.createCellStyle();
        DataFormat dataFormat = workbook.createDataFormat();
        cellStyle.setDataFormat(dataFormat.getFormat("@"));
        cell.setCellStyle(cellStyle);

    }

提示的异常或者没有达到的效果

回答

4

我也遇到这个问题,在导出的对象上加了注解 @HeadStyle

4

可以试一下在字段或者数据模型类上添加@ContentStyle(dataFormat = 49)
dataFormat取值来自com.alibaba.excel.constant.BuiltinFormats 在2.2.10版本是可以的

6

已经在3.0.0-beta1 版本修复,beta版本会在一个月内升级成正式版。 使用ContentStyle注解 ,dataFormat=49

4

已经在3.0.0-beta1 版本修复,beta版本会在一个月内升级成正式版。 使用ContentStyle注解 ,dataFormat=49

ContentStyle 貌似只能修改有数据的行,新增的行还是修改不了

6

我也遇到这个问题了 如果加在类上或者方法上 只是head头是文本 下面没有数据的列 还是常规列 不是文本列,请问您是怎么解决的