【折腾一上午】Java POI 导出 Excel 自适应列宽行高

主要方法:

调用

复制代码
sheet.autoSizeColumn(f) // f是需要自适应的列的序号

注:

  1. 在设置自适应之前需要调用以下方法,否则会报跟踪列错误。
复制代码
sheet.trackAllColumnsForAutoSizing()
  1. 当你去调用上个方法的时候发现,sheet并没有这个方法,这里需要sheet 和 workbook 定义为
复制代码
SXSSFSheet
复制代码
SXSSFWorkbook
  1. 查看代码里是否有设置行高,和列宽的代码都注释掉,否则自适应不会生效

  2. 把设置自适应行高放到填充数据之后,否则自适应也不会生效

5.对于中文列无法精准自适应,还是存在折行问题需要手动调整列宽:

复制代码
sheet.autoSizeColumn(f); // 自适应行高列宽
sheet.setColumnWidth(f, sheet.getColumnWidth(f) * 13 / 10); // 调整对中文的长度定位不准确

感谢提供中文列不适应解决方案的老哥:

https://blog.csdn.net/king0406/article/details/103409562

相关推荐
splage30 分钟前
HeidiSQL导入与导出数据
java
热爱Java,热爱生活34 分钟前
浅谈Spring三级缓存
java·spring·缓存
@ chen1 小时前
IDEA初始化配置
java·ide·intellij-idea
wellc1 小时前
SpringBoot集成Flowable
java·spring boot·后端
Hui Baby2 小时前
springAi+MCP三种
java
hsjcjh2 小时前
【MySQL】C# 连接MySQL
java
敖正炀2 小时前
LinkedBlockingDeque详解
java
wangyadong3172 小时前
datagrip 链接mysql 报错
java
untE EADO2 小时前
Tomcat的server.xml配置详解
xml·java·tomcat
ictI CABL2 小时前
Tomcat 乱码问题彻底解决
java·tomcat