EasyExcel 的行高列宽的单位,直接设置行高列宽的大小

前言

有没有小伙伴用EasyExcel设置表的行高列宽时,会有点疑惑,这个 Integer 或者 Short 对应的是什么单位,我们应该设置多大的值,才能满足表的样式需要?

我刚开始使用EasyExcel的时候,就只能多次改变数值大小去得到自己想要的行高列宽效果。

但是现在,我了解EasyExcel 的行高列宽的单位后,就可以直接设置行高列宽的大小了

EasyExcel 设置行宽列高

要说明单位问题,先要知道EasyExcel 是如何设置行宽列高的,详细实现可以查看文档,我这只是想直观的展示数据给你们看:

EasyExcel 注解方式设置行宽列高

写excel · 语雀

@Getter
@Setter
@EqualsAndHashCode
@ContentRowHeight(10)
@HeadRowHeight(20)
@ColumnWidth(25)
public class WidthAndHeightData {
    @ExcelProperty("字符串标题")
    private String string;
    @ExcelProperty("日期标题")
    private Date date;
    /**
     * 宽度为50
     */
    @ColumnWidth(50)
    @ExcelProperty("数字标题")
    private Double doubleData;
}

EasyExcel 非注解方式设置行宽列高

EasyExcel 非注解方式设置列宽行高的几种实现方式_坐等夕阳落time的博客-CSDN博客

EasyExcel.write(outputStream)
    // 这里放入动态头
    .head(headNameList)
    // java以点分割要转义符
    .sheet(fileName.split("\\.")[0])
    // 注册策略
    .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)) // 简单的列宽策略,列宽20
    .registerWriteHandler(new SimpleRowHeightStyleStrategy((short)25,(short)25)) // 简单的行高策略:头行高,内容行高
    .doWrite(datalist);

EasyExcel 的行高列宽的单位

因为在EasyExcel的文档上,它说明行高列宽都是直接说数值,不说单位,所以你无法直观的像前端开发那样,知道单位是px或者其他确定的单位。

经过不断换数值测试了以后,在excel上,我找到了这些数值的单位。

行高单位:磅

EasyExcel 的行高列宽的单位,直接设置行高列宽的大小_第1张图片

 列宽单位:字符

EasyExcel 的行高列宽的单位,直接设置行高列宽的大小_第2张图片

 注意点

  • 行高的数值是精确的,你写25,它在excel中就是25磅
  • 列宽的数值不是精确的,你写25,它在excel中是24.38字符,也就是在excel中数值比代码中的小一些,差值在0.62

如何在excel上查看行高列宽

我用的wps

查看行高

EasyExcel 的行高列宽的单位,直接设置行高列宽的大小_第3张图片

 EasyExcel 的行高列宽的单位,直接设置行高列宽的大小_第4张图片

 查看列宽

EasyExcel 的行高列宽的单位,直接设置行高列宽的大小_第5张图片

EasyExcel 的行高列宽的单位,直接设置行高列宽的大小_第6张图片

在开发中,如何有效的 EasyExcel 直接设置行高列宽的大小

如果产品或者其他对接的人给了你模板,你可以先查看模板的行高列宽大小,然后再直接写数值,数值写大一点也可以。

你可能感兴趣的:(java,excel,java,后端)