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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

POI Excel行高设置

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

1.Excel行高單位概述

  • px是相對長度,表示pixel,像素,是屏幕上顯示數據的最基本的點
  • pt是絕對長度,表示point,磅,是印刷行業常用單位,等于1/72英寸
  • DPI(或PPI),分辨率,pixel(dot)per inch,每英寸的像素(點)數,微軟都將DPI和PPI混為一體,我們也就無須較真了。Windows系統默認是96dpi,Apple系統默認是72dpi
  • px,pt和dpi的關系
  • windows一般DPI=96,即每英寸有96個像素 1英寸 = 96px 1英寸 = 72pt(磅) = 1440twips(緹) 所以: 1pt = 20twips(緹) 1px = 72/96pt = 3/4pt = 15twips(緹)

    2. 設置Excel行高

    POI中行高單位和Office Excel中行高單位是不一樣的
    1. POI中的行高單位是twips(緹)
    2. Office Excel行高單位是pt(磅)
    3. 1pt = 20twips
    4. 1px = 3/4pt
    5. 1px = 15twips

    /*** 設置行高,以twips(緹)為單位, 1twips=1/20pt(磅)* @param height 設置的行高,單位為1/20pt* */public void setHeight(short height)/*** 設置行高,單位為磅pt* @param height 設置的行高,單位為磅pt* */public void setHeightInPoints(float height) {if(height == -1){row.setHeight((short)(0xFF | 0x8000));row.setBadFontHeight(false);} else {row.setBadFontHeight(true);row.setHeight((short) (height * 20));}}

    3.實例

    package hssf_grid;import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream;import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.util.WorkbookUtil;public class RowHeightTest {public static void main(String[] args) throws Exception {File file = new File("C:\\Users\\Administrator\\Desktop\\test.xls");if (file.exists()) {file.delete();}BufferedOutputStream out = null;try {out = new BufferedOutputStream(new FileOutputStream("C:\\Users\\Administrator\\Desktop\\test.xls"));exportExcel(out);} finally {out.close();}}private static void exportExcel(BufferedOutputStream out) throws Exception {HSSFWorkbook workbook = new HSSFWorkbook();// 格式化Sheet名,使其合法String safeSheetName = WorkbookUtil.createSafeSheetName("日歷");HSSFSheet sheet = workbook.createSheet(safeSheetName);sheet.setColumnWidth(0, 100*256);HSSFRow row3 = sheet.createRow(3);row3.createCell(0).setCellValue("行高16px = 12pt = 240twips");// 單位為twips(緹)row3.setHeight((short)(12*20));HSSFRow row5 = sheet.createRow(5);row5.createCell(0).setCellValue("行高32px = 24pt = 480twips");row5.setHeight((short)(24*20));HSSFRow row7 = sheet.createRow(7);row7.createCell(0).setCellValue("行高48px = 36pt = 720twips");// 單位為pt(磅)row7.setHeightInPoints(36);HSSFRow row9 = sheet.createRow(9);row9.createCell(0).setCellValue("行高64px = 48pt = 1440twips");// 單位為pt(磅)row9.setHeightInPoints(48);workbook.write(out);}}

    總結

    以上是生活随笔為你收集整理的POI Excel行高设置的全部內容,希望文章能夠幫你解決所遇到的問題。

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