【日常记录-Java】EasyExcel输出设定字体

复制代码
Author:赵志乾
Date:2024-08-15
Declaration:All Right Reserved!!!

1. 问题描述

使用EasyExcel默认的设定输出时,中文字体显得比较怪异。

2. 解决方案

本质是单元格样式的设置问题,在EasyExcel中,可以通过实现WriteHandler接口或使用EasyExcel提供的注解以及WriteCellStyle来自定义样式。由于EasyExcel本身提供了HorizontalCellStyleStrategy,其允许开发者自定义表头和内容的样式,功能上足以满足简单需求。

设定表头样式为楷体14号加粗居中对齐、内容样式为楷体11号居中对齐,代码如下:

复制代码
private static HorizontalCellStyleStrategy horizontalCellStyleStrategy;

static {
   WriteFont headFont = new WriteFont();
   headFont.setFontName("楷体");
   headFont.setFontHeightInPoints((short) 14);
   headFont.setBold(true);

   WriteFont contentFont = new WriteFont();
   contentFont.setFontName("楷体");
   contentFont.setFontHeightInPoints((short) 11);
   contentFont.setBold(false);

   WriteCellStyle headCellStyle = new WriteCellStyle();
   headCellStyle.setWriteFont(headFont);
   headCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);

   WriteCellStyle contentCellStyle = new WriteCellStyle();
   contentCellStyle.setWriteFont(contentFont);
   contentCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);

   horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headCellStyle, contentCellStyle);
}


public static void write(String fullName, String sheetName, List<T> items, Class<T> clazz){
    EasyExcel.write(fullName, clazz)
                    .registerWriteHandler(horizontalCellStyleStrategy)
                    .registerConverter(new DateTimeConverter())
                    .sheet(sheetName)
                    .doWrite(items);
}
相关推荐
itzixiao11 分钟前
L1-067 洛希极限(10分)[java][python]
java·开发语言·算法
java1234_小锋18 分钟前
Spring AI 2.0 开发Java Agent智能体 - Spring AI项目调用本地Ollama模型
java·人工智能·spring·spring ai2.0
二哈赛车手19 分钟前
新人笔记---多策略搭建策略执行链实现RAG检索后过滤
java·笔记·spring·设计模式·ai·策略模式
PESS ABIN20 分钟前
JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
java·tomcat
AI进化营-智能译站26 分钟前
ROS2 C++开发系列15-模板实现通用算法|宏定义ROS2调试开关|一次编码适配多平台
java·c++·算法·ai
刀法如飞28 分钟前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试
薪火铺子38 分钟前
SpringMVC请求处理流程源码解析(第1篇):请求入口与处理器映射
java·后端·spring
ch.ju38 分钟前
Java程序设计(第3版)第二章——参数(实参 形参)
java
椰猫子39 分钟前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库
海兰42 分钟前
【开篇】Spring AI、OpenClaw 和Hermes
java·人工智能·spring·spring ai