easyexcel 大佬们能帮忙解决导出EXCEL时,WPS不能识别WriteFont设置的加粗问题嘛?

4dc9hkyq  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(90)

最近使用【自定义样式】功能时,遇到加粗无法展示的问题,搜索了一下是WPS兼容性问题,代码的解决方案: https://blog.csdn.net/qq_30436011/article/details/126656113
我目前只能通过加拦截器的方式,针对特定的Cell获取到富文本后进行特殊处理。
目前想建议大佬能否在在easyExcel写入Cell时做一下特殊处理?

66bbxpm5

66bbxpm51#

import com.alibaba.excel.metadata.Cell;
import com.alibaba.excel.write.handler.WriteHandler;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;

public class WPSCompatibilityHandler implements WriteHandler {
    @Override
    public void beforeCellCreate(Cell cell, CellStyle cellStyle) {
        // 在创建单元格之前的处理
        if (cellStyle != null) {
            Font font = cellStyle.getFont();
            if (font != null) {
                // 设置字体加粗
                font.setBold(true);
            }
        }
    }

    @Override
    public void afterCellCreate(Cell cell, CellStyle cellStyle) {
        // 在创建单元格之后的处理
    }

    public static void main(String[] args) {
        // 文件名
        String fileName = "output.xlsx";
        // 创建一个Workbook写入器,并应用自定义的处理器
        ExcelWriterBuilder writerBuilder = EasyExcel.write(fileName)
                .registerWriteHandler(new WPSCompatibilityHandler());
        // 继续写入其他内容...
    }
}

相关问题