【折腾一上午】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

相关推荐
房开民6 小时前
c++总结
java·开发语言·c++
好大哥呀6 小时前
C++ 多态
java·jvm·c++
毕设源码-赖学姐6 小时前
【开题答辩全过程】以 基于Java的医院器材管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
float_com6 小时前
【java常用API】----- Arrays
java·开发语言
LuckyTHP7 小时前
迁移shibboleth java获取shibboleth用户信息
java·开发语言
客卿1237 小时前
数论===质数统计(暴力法,)
java·开发语言
华科易迅7 小时前
Spring 事务(注解)
java·数据库·spring
写代码的小阿帆8 小时前
Web工程结构解析:从MVC分层到DDD领域驱动
java·架构·mvc
东离与糖宝8 小时前
Java 26+Spring Boot 3.5,微服务启动从3秒压到0.8秒
java·人工智能
禹中一只鱼8 小时前
【力扣热题100学习笔记】 - 哈希
java·学习·leetcode·哈希算法