日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

excel html 列宽,POI精确设置Excel的行高和列宽

發布時間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 excel html 列宽,POI精确设置Excel的行高和列宽 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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的行高和列宽的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。