欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

poi設(shè)置列寬,poi導(dǎo)出excel可以調(diào)整列寬嗎

作為一家“創(chuàng)意+整合+營(yíng)銷(xiāo)”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。成都創(chuàng)新互聯(lián)公司提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、創(chuàng)意表現(xiàn)、網(wǎng)頁(yè)制作、系統(tǒng)開(kāi)發(fā)以及后續(xù)網(wǎng)站營(yíng)銷(xiāo)運(yùn)營(yíng)等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營(yíng)模式與有效的網(wǎng)絡(luò)營(yíng)銷(xiāo)方法,創(chuàng)造更大的價(jià)值。

本文目錄一覽

1,poi導(dǎo)出excel可以調(diào)整列寬嗎

很多朋友都想知道poi導(dǎo)出excel設(shè)置列寬的方法,那么,該怎么做呢,下面讓學(xué)習(xí)啦小編為你帶來(lái)poi導(dǎo)出excel設(shè)置列寬的簡(jiǎn)單方法。poi導(dǎo)出excel設(shè)置列寬步驟: 接下來(lái)說(shuō)說(shuō)sheet.setcolumnwidth((short) 0, (short) 250); 第一個(gè)參數(shù)表示要為第幾列設(shè)置,第二個(gè)參數(shù)表示列的寬度,看看上面的代碼按說(shuō)第一行第一列的單元格形狀應(yīng)該是個(gè)正方形,因?yàn)閷捄透叨际?50,但是打開(kāi)導(dǎo)出后的excel發(fā)現(xiàn)寬度沒(méi)有高度大,是個(gè)長(zhǎng)方形,查看該列的寬度僅為7個(gè)像素,看來(lái)行高和列寬的單位是不一樣的,同樣換一算sheet.setcolumnwidth((short) 0, (short) (35.7));表示高度為一個(gè)像素,同樣設(shè)置列寬的像素為sheet.setcolumnwidth((short) 0, (short) (35.7*n));//n為列高的像素?cái)?shù)。

sheet.SetColumnWidth(0, 35 * 100);100是像素,是35倍

2,如何用poi導(dǎo)出excel設(shè)置列寬

很多朋友都想知道poi導(dǎo)出excel設(shè)置列寬的方法,那么,該怎么做呢,下面讓學(xué)習(xí)啦小編為你帶來(lái)poi導(dǎo)出excel設(shè)置列寬的簡(jiǎn)單方法。   poi導(dǎo)出excel設(shè)置列寬步驟:  接下來(lái)說(shuō)說(shuō)sheet.setColumnWidth((short) 0, (short) 250);  第一個(gè)參數(shù)表示要為第幾列設(shè)置,第二個(gè)參數(shù)表示列的寬度,看看上面的代碼按說(shuō)第一行第一列的單元格形狀應(yīng)該是個(gè)正方形,因?yàn)閷捄透叨际?50,但是打開(kāi)導(dǎo)出后的Excel發(fā)現(xiàn)寬度沒(méi)有高度大,是個(gè)長(zhǎng)方形,查看該列的寬度僅為7個(gè)像素,看來(lái)行高和列寬的單位是不一樣的,同樣換一算sheet.setColumnWidth((short) 0, (short) (35.7));表示高度為一個(gè)像素,同樣設(shè)置列寬的像素為sheet.setColumnWidth((short) 0, (short) (35.7*n));//n為列高的像素?cái)?shù)。

// 設(shè)置表格默認(rèn)列寬度為15個(gè)字節(jié) sheet.setDefaultColumnWidth((short) 15);

3,如何利用poi對(duì)excel里的某一列的寬度進(jìn)行設(shè)定

EXCEL的行高度和列寬度單位是不一樣的。
1,EXCEL列高度的單位是磅,Apache POI的行高度單位是緹(twip):1英寸=72磅=25.4毫米=1440緹1磅=0.353毫米=20緹POI中的行高=Excel的行高度*20Excel的行高度=POI中的行高/20這里順便把像素的換行方法說(shuō)一下:DPI = 1英寸內(nèi)可顯示的像素點(diǎn)個(gè)數(shù)。通常電腦屏幕是96DPI, IPhone4s的屏幕是326DPI, 普通激光黑白打印機(jī)是400DPI要計(jì)算POI行高或者Excel的行高,就先把它行轉(zhuǎn)換到英寸,再乘小DPI就可以得到像素像素 = (磅/72)*DPI像素= (Excel的行高度/72)*DPI像素= (POI中的行高/20/72)*DPIExcel的行高度=像素/DPI*72POI中的行高=像素/DPI*72*20例如在電腦屏幕上, Excel默認(rèn)行高度為13.5, (13.5/72)*96=18像素,而Excel中也確實(shí)顯示的就是18像素。
2,EXCEL列寬度的單位是字符個(gè)數(shù)
(2014-08-18備注:關(guān)于Excel的寬度計(jì)算的詳細(xì)介紹在這篇文章Excel的寬度怎么算的?)在excel2003以上的版本中,可以建立一個(gè)空白的xls文檔并將第一列寬度拉到10。然后在A1單元格中輸入1234567890可以看到單元格正好可以容納這十個(gè)字符。
一個(gè)字符的寬度是通過(guò)測(cè)量1234567890這十個(gè)字符在默認(rèn)字體(通常是宋體11號(hào)字,視版本可能不同)下的平均寬度得到的。只要記住一個(gè)字符的寬度是8像素 (2013-10-29備注:一個(gè)字符的寬度取決于Excel文件中的第一個(gè)字體大小,并不一定就是8像素)就可以了。
一個(gè)單元格實(shí)際的像素寬度還要在(字符個(gè)數(shù) * 默認(rèn)字符的寬度)的基礎(chǔ)上前后各加2個(gè)像素的空白邊。另外字符之間會(huì)疊加一個(gè)像素,在計(jì)算時(shí)也要減去:(2013-10-29備注:一個(gè)字符的邊距不一定只是2像素,和字體有關(guān)系)像素 = 2個(gè)像素空白 + (字符個(gè)數(shù) * 默認(rèn)字符的寬度) + 2個(gè)像素空白 - (字符個(gè)數(shù) - 1)整理一下,公式變成:像素 = 5 + (字符個(gè)數(shù) * (默認(rèn)字符的寬度 - 1))代入默認(rèn)字符寬度8:像素 = 5 + (字符個(gè)數(shù) * 7)POI中的字符寬度算法是:double 寬度 = (字符個(gè)數(shù) * (字符寬度 - 1) + 5) / (字符寬度 - 1) * 256;然后再四舍五入成整數(shù)。最后把我寫(xiě)的一個(gè)工具類貼上來(lái),方便使用。public class HSSFUtil private static final short TWIPS_PER_PIEXL = 15; //1 Pixel = 1440 TPI / 96 DPI = 15 Twips public static short pixel2PoiHeight(int pixel) return (short) (pixel * TWIPS_PER_PIEXL); } public static int poiHeight2Pixel(short height) return height / TWIPS_PER_PIEXL; } //像素轉(zhuǎn)poi寬度 public static int pixel2PoiWidth(FontInfo fontInfo, int pixel) double numChars = pixel2Character(fontInfo, pixel); numChars *= fontInfo.charWidth; numChars += fontInfo.spacing; numChars /= fontInfo.charWidth; numChars *= 256; return (int)numChars; } //poi寬度轉(zhuǎn)像素 public static int poiWidth2Pixel(FontInfo fontInfo, int poiWidth) double numChars = poiWidth2Character(fontInfo, poiWidth); return character2Piexl(fontInfo, numChars); } public static double poiWidth2Character(FontInfo fontInfo, int poiWidth) double numChars = poiWidth / 256.0 - (fontInfo.spacing * 1.0 / fontInfo.charWidth); //2位小數(shù) return new BigDecimal(numChars).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); } public static int character2PoiWidth(FontInfo fontInfo, double numChars) double w = (numChars + (fontInfo.spacing * 1.0 / fontInfo.charWidth)) * 256; return (int) w; } //excel字符轉(zhuǎn)像素 public static int character2Piexl(FontInfo fontInfo, double numChars) double pixel = fontInfo.charWidth * numChars + fontInfo.spacing; return (int)pixel; } //excel像素轉(zhuǎn)字符 public static double pixel2Character(FontInfo fontInfo, int pixel) double numChars = (pixel - fontInfo.spacing) * 1.0 / fontInfo.charWidth; return new BigDecimal(numChars).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); } //獲得工作簿默認(rèn)字符寬度 public static FontInfo getDefaultCharWidth(Workbook book) //博客沒(méi)人氣,我已刪除此段代碼,請(qǐng)自行研究或者留郵箱 } //獲得不同字體的字符邊距 private static int getSpacing(int fontHeightInPoints, int charWidth) //博客沒(méi)人氣,我已刪除此段代碼,請(qǐng)自行研究或者留郵箱 } }

你好,去看一下官方的api文檔,或許你就會(huì)了https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/sheet.html

當(dāng)前題目:poi設(shè)置列寬,poi導(dǎo)出excel可以調(diào)整列寬嗎
標(biāo)題來(lái)源:http://chinadenli.net/article36/icpssg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站手機(jī)網(wǎng)站建設(shè)、Google、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)