EXCEL的行高度和列宽度单位是不一样的。

1,EXCEL列高度的单位是磅,Apache POI的行高度单位是缇(twip):

1英寸=72磅=25.4毫米=1440缇

1磅=0.353毫米=20缇

POI中的行高=Excel的行高度*20

Excel的行高度=POI中的行高/20

这里顺便把像素的换行方法说一下:

DPI = 1英寸内可显示的像素点个数。通常电脑屏幕是96DPI, IPhone4s的屏幕是326DPI, 普通激光黑白打印机是400DPI

要计算POI行高或者Excel的行高,就先把它行转换到英寸,再乘小DPI就可以得到像素

像素 = (磅/72)*DPI

像素= (Excel的行高度/72)*DPI

像素= (POI中的行高/20/72)*DPI

Excel的行高度=像素/DPI*72

POI中的行高=像素/DPI*72*20

例如在电脑屏幕上, Excel默认行高度为13.5,  (13.5/72)*96=18像素,而Excel中也确实显示的就是18像素。

2,EXCEL列宽度的单位是字符个数

(2014-08-18备注:关于Excel的宽度计算的详细介绍在这篇文章Excel的宽度怎么算的?)

在excel2003以上的版本中,可以建立一个空白的xls文档并将第一列宽度拉到10。然后在A1单元格中输入1234567890可以看到单元格正好可以容纳这十个字符。一个字符的宽度是通过测量1234567890这十个字符在默认字体(通常是宋体11号字,视版本可能不同)下的平均宽度得到的。

只要记住一个字符的宽度是8像素 (2013-10-29备注:一个字符的宽度取决于Excel文件中的第一个字体大小,并不一定就是8像素)就可以了。

一个单元格实际的像素宽度还要在 (字符个数 * 默认字符的宽度)的基础上前后各加2个像素的空白边。另外字符之间会叠加一个像素,在计算时也要减去:

(2013-10-29备注:一个字符的边距不一定只是2像素,和字体有关系)

像素 = 2个像素空白 + (字符个数 * 默认字符的宽度) + 2个像素空白 - (字符个数 - 1)

整理一下,公式变成:

像素 = 5 + (字符个数 * (默认字符的宽度 - 1))

代入默认字符宽度8:

像素 = 5 + (字符个数 * 7)

POI中的字符宽度算法是:

double 宽度 = (字符个数 * (字符宽度 - 1) + 5) / (字符宽度 - 1) * 256;

然后再四舍五入成整数。

原文:http://www.cnblogs.com/dtts/p/4741575.html

excel html 列宽,POI精确设置Excel的行高和列宽相关推荐

  1. 如何设置QTableWideget和行高和列宽

    如何设置QTableWideget和行高和列宽 QTtableView或者QTableWidget的verticalHeader()->setDefaultSectionSize(15)可以设置 ...

  2. html设置表格行高和列宽,怎么在腾讯文档中设置表格的行高和列宽

    摘要 腾兴网为您分享:怎么在腾讯文档中设置表格的行高和列宽,云集,虚拟机,我的世界,卫星云图等软件知识,以及cad2009,kmp,mt4,usb转串口驱动,wifi吸粉,csgo动态组名,亿方云,单 ...

  3. excel表格行宽列高怎么设置_excel的行高列宽怎么设置_excel的行高和列宽在哪设置...

    在使用excel时,行高和列宽一定程度上影响着整个表格的美观程度,下面为你分享了几个关于行高列宽的超实用的小技巧,感兴趣的小伙伴快来看看吧! 1.行高的单位像素怎么更改为厘米? 在设置表格时,要求设置 ...

  4. access调整行高和列宽_access数据表中改变行高和列宽有哪几种方法?

    展开全部 access数据表中改变行高和列宽的方法: 1.直接在行选择器或列选择权边界处拖动: 2.点击顶部行选择后,右击,可从快捷32313133353236313431303231363533e5 ...

  5. Excel从另一个Excel文件中用户自定义区域(UsedRange)拷贝数据和行高、列宽

    实现环境:Visual Studio 2010, Office 2010, VSTO 4.0, .NET Framework 4.0 using System; using System.Collec ...

  6. python指定一列为KEY 合并多列单元格 并设置单元格行高

    一.需求 1.第一列Sku数值相同的,合并A-E列,J-M列 2.M列设置行高完全显示内容 3.A1单元格内数字是SKU个数,合并单元格后数字更新 二.效果图 input入力文件处理前: 文件处理后 ...

  7. Excel把行高和列宽单位设置成厘米,精确设置表格

    转自 https://jingyan.baidu.com/article/154b463156adb728cb8f4110.html 实际工作中,一些表格特别是套打时行高列宽经常要求以厘米为单位进行精 ...

  8. Excel单元格如何调整行高与列宽?经验技巧!excel怎样设置单元格的高与宽?

    Excel是制作表格和数据计算的软件,我们在使用excel来记录数据信息的时候调整单元格的宽高是必要的,对于每个单元格的高与宽相同应该怎样调整呢?下面小编为大家介绍具体操作步骤. 我们首先打开exce ...

  9. C# 设置Excel数据自适应行高、列宽的2种情况

    Excel表格中,由于各种数据的复杂性,可能存在单元格中的数据字号大小.数据内容长度不一而出现,列宽过宽.过窄或者行高过大.过小的问题.常见的解决方法是调整行高.列宽.在Microsoft Excel ...

最新文章

  1. java代码生成springdao_请JAVA高手推荐个SSH的后台代码生成工具!!要能生成Spring整合Hibernate的DAO类和Service类!...
  2. centos php 安装mysql_CentOS 7 安装MySQL+PHP环境
  3. 折腾Java设计模式之建造者模式
  4. import和require的区别
  5. Product Distribution chain id F4 value help的实现
  6. vue+vant 移动端H5 商城项目_03
  7. php sql取数据生成数组中,php中实现数组生成要执行的sql语句
  8. C#的多线程机制探索2
  9. Adobe Flash地图控件AnyMap
  10. C++基础::拾遗琐碎
  11. 用c#开发微信(10) JSSDK 基本用法 分享接口“发送到朋友”
  12. windows 驱动开发 DDK与WDK WDM的区别
  13. 华三交换机配置access命令_华三交换机配置中,shutdown这条命令怎么用?
  14. 硬核!高频Linux命令大总结,建议收藏~
  15. 矩阵开根号,工作矩阵平方根
  16. A 5G Odyssey :2021北京漫游
  17. 第二期:关于大数据相关的问答汇总,关注持续更新中哦~
  18. 中英文金额大写转换器
  19. yolov5ds-yolov5做分割(尝试ing)
  20. DataQL之语法-万能查询执行步骤

热门文章

  1. 【筛质数】——朴素筛,埃式筛,欧拉筛
  2. java 实现在线编辑本地pdf文件内容
  3. 2020年贺岁杯围棋争霸赛今日开赛,AI+围棋看点十足
  4. 角色转移服务器维护怎么回事,梦幻西游角色转移热点问题解答
  5. 光学字符识别的 5 个最佳免费数据集
  6. 数据库课设记录 Day 3
  7. 计算机excel新课导入,Excel导入文本文件的技巧
  8. 计算机速录方法,速录软件速录方法细说
  9. 使用java代码实现证件照换背景色
  10. 【自动驾驶——摄像头去畸变】