使用easypoi时,动态设置excel列宽
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用easypoi时,动态设置excel列宽相关的知识,希望对你有一定的参考价值。
参考技术A 首先需要调用 trackAllColumnsForAutoSizing ,因为 SXSSFSheet 会将数据缓冲写入硬盘(这也是这个Sheet类型的特性,只负责写入不负责读取)。因为 autoSizeColumn 对中文支持有问题,所以需要额外乘上一个倍数来兼容中文宽度。
最后设置最小宽度则是因为有时在一些非常宽的列之后(比如我这里是U到X字段很宽),多列被错误的缩短了,见下图:
如何用poi导出excel设置列宽
很多朋友都想知道poi导出excel设置列宽的方法,那么,该怎么做呢,下面让学习啦小编为你带来poi导出excel设置列宽的简单方法。poi导出excel设置列宽步骤:
接下来说说sheet.setColumnWidth((short) 0, (short) 250);
第一个参数表示要为第几列设置,第二个参数表示列的宽度,看看上面的代码按说第一行第一列的单元格形状应该是个正方形,因为宽和高都是250,但是打开导出后的Excel发现宽度没有高度大,是个长方形,查看该列的宽度仅为7个像素,看来行高和列宽的单位是不一样的,同样换一算sheet.setColumnWidth((short)
0, (short) (35.7));表示高度为一个像素,同样设置列宽的像素为sheet.setColumnWidth((short) 0,
(short) (35.7*n));//n为列高的像素数。 参考技术A // 设置表格默认列宽度为15个字节
sheet.setDefaultColumnWidth((short) 15);
以上是关于使用easypoi时,动态设置excel列宽的主要内容,如果未能解决你的问题,请参考以下文章
使用 easypoi 导出 excel 实现动态列,完美解决!