【日常记录-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);
}
相关推荐
码农老起4 分钟前
与Aspose.pdf类似的jar库分享
java·pdf·jar
程序猿小D27 分钟前
第三百八十九节 JavaFX教程 - JavaFX WebEngine
java·eclipse·intellij-idea·vr·javafx
self-discipline6342 小时前
【Java】Java核心知识点与相应面试技巧(七)——类与对象(二)
java·开发语言·面试
wei3872452322 小时前
java笔记02
java·开发语言·笔记
zjj5873 小时前
Docker使用ubuntu
java·docker·eureka
士别三日&&当刮目相看3 小时前
JAVA学习*简单的代理模式
java·学习·代理模式
东方佑3 小时前
使用 Python 自动处理 Excel 数据缺失值的完整指南
开发语言·python·excel
課代表3 小时前
利用 Excel 函数随机抽取(附示例)
数据结构·excel
ShareBeHappy_Qin4 小时前
设计模式——设计模式理念
java·设计模式
程序猿大波6 小时前
基于Java,SpringBoot,Vue,HTML高校社团信息管理系统设计
java·vue.js·spring boot