这是我自定义实现的代码
public class CustomerCellWriteRowHandler implements CellWriteHandler {
List<ExcelLevelModel> levelModels;
public CustomerCellWriteRowHandler(List<ExcelLevelModel> levelModels) {
this.levelModels = levelModels;
}
@Override
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
Optional<ExcelLevelModel> first = levelModels.stream().filter(e -> e.getIndex().equals(head.getColumnIndex())).findFirst();
if (first.isPresent()){
Workbook workbook = writeSheetHolder.getSheet().getWorkbook();
CellStyle cellStyle = workbook.createCellStyle();
//设置文本水平样式
cellStyle.setAlignment(first.get().getAlignment());
//设置单元格格式为文本
DataFormat dataFormat = workbook.createDataFormat();
cellStyle.setDataFormat(dataFormat.getFormat("@"));
cell.setCellStyle(cellStyle);
}
}
}
但是就是不生效,还用其他实现都不一一列举了,大差不差的,结果都是不生效。
后面想着在 内容后面+“”,变成文本格式,还是不行。
后面询问某群,某个大佬说 内容+“\t” 可以实现
果然加了之后,就生效了,到现在不知道啥原因,先记着吧。