HSSFWorkbook apache.poi设置行高和获取行高

在之前的导出excel表头文章poi低版本工具类换成poi5.2导出excel表头
我们用了下面一段代码

//			  循环时候获取行高
            HSSFRow row = (HSSFRow) iter.next();
//            获取每一行高度
            float heightInPoints = row.getHeightInPoints();

打断点进入 HSSFRow 类,里面有下面两个方法

public final class HSSFRow implements Row, Comparable<HSSFRow> {
    public short getHeight() {
        short height = this.row.getHeight();
        if ((height & '耀') != 0) {
            height = this.sheet.getSheet().getDefaultRowHeight();
        } else {
            height = (short)(height & 32767);
        }

        return height;
    }
    public float getHeightInPoints() {
        return (float)this.getHeight() / 20.0F;
    }
}

看一篇原文HSSFWorkbook apache.poi设置行高才知道为啥执行 / 20.0F

excel中行高的单位
px是相对长度,表示pixel(像素),是屏幕上显示数据的最基本的点
pt是绝对长度,表示point(磅),是印刷行业常用单位,等于1/72英寸
dpi(或ppi)表示分辨率,即pixel(dot) per inch,每英寸的像素(点)数

poi中的行高单位
poi中的行高单位和excel的行高单位是不一样得,excel中的行高单位是pt(point,磅)而poi中的行高单位是twips(缇)

换算公式
1pt = 20 twips

此外,px和pt,twips的换算公式是

1px = 0.75pt
1px = 15twips

poi中设置行高
在poi中可以使用HSSRow.setHeight(short s)方法设置行高 例如:设置12pt
row.setHeight((short)(12*20))

导入excel中行高最多为409pt,也就是409*20= 8180twips

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值