惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
IT之家
IT之家
博客园_首页
量子位
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
博客园 - 聂微东
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

祈雨的笔记

安全多方计算MPC spark原理解析 kueue执行源码分析 spark on k8s执行源码分析 spark-operator源码解析 系统压测遇到的缓存击穿问题 我的世界PC与安卓联机 蚂蚁金服流量投放平台的AIG改造 G1大对象致Old区占用率高 日志打印导致接口响应率下跌分析 Groovy加载类导致OOM分析 ERROR日志打印导致CPU满载 记OceanBase死锁超时 应用发版期间服务响应超时 Ark Serverless初探 系统优化复盘一二三 The user specified as a definer does not exist Kong网关初探 API网关选型调研 CPU火焰图常用工具 配置中心选型调研 root操作Nginx导致用户组错误 基于Proxifier使用代理 FastJSON字段智能匹配踩坑 Nacos初探 记一次Nginx服务器CPU满荷载故障 基于券系统分库分表的思考 limit不参与SQL成本计算致索引失效 Linux常用性能监控命令 golang低版本http2偶现400
POI自动调整列宽错误
祈雨的笔记 · 2018-12-23 · via 祈雨的笔记

描述

POI组装Excel时,使用autoSizeColumn进行自动调整列宽。在Windows环境下输出正常,但是在Linux环境下输出的Excel的列宽错乱,如下图:

image

原因

Linux环境下JAVA不支持中文字体,导致使用POI的autoSizeColumn方法计算列宽时中文的字体宽度计算错误,最终显示列宽错乱。

Apache POI autoSizeColumn Resizes Incorrectly

解决

设置Excel的字体为微软雅黑,并将字体安装到Java中:将字体的.tff文件复制到JAVA_HOME/jre/lib/fonts目录下并重新运行应用程序。

1
2
3
4
5
6
7
8
9
10
11
12
Workbook workbook = new XSSFWorkbook();

Font font = workbook.createFont();
font.setFontName("微软雅黑");
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFont(font);

Sheet sheet = workbook.createSheet();
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("中文字体");
cell.setCellStyle(cellStyle);