主要方法:
调用
sheet.autoSizeColumn(f) // f是需要自适应的列的序号
注:
- 在设置自适应之前需要调用以下方法,否则会报跟踪列错误。
sheet.trackAllColumnsForAutoSizing()
- 当你去调用上个方法的时候发现,sheet并没有这个方法,这里需要sheet 和 workbook 定义为
SXSSFSheet
SXSSFWorkbook
-
查看代码里是否有设置行高,和列宽的代码都注释掉,否则自适应不会生效
-
把设置自适应行高放到填充数据之后,否则自适应也不会生效
5.对于中文列无法精准自适应,还是存在折行问题需要手动调整列宽:
sheet.autoSizeColumn(f); // 自适应行高列宽
sheet.setColumnWidth(f, sheet.getColumnWidth(f) * 13 / 10); // 调整对中文的长度定位不准确
感谢提供中文列不适应解决方案的老哥: