<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    poi筆記

    Posted on 2008-03-14 22:26 leekiang 閱讀(4158) 評論(0)  編輯  收藏 所屬分類: 文件處理
    注意用poi解析器從word中抽取文本后,輸入流會關閉,原因如下:
    InputStreams passed to POIFSFileSystem are now automatically closed. A warning is generated for people who might've relied on them not being closed before, and a wrapper to restore the old behaviour is supplied(POI-DEVELOPERS)
    據說在POI3.0.3會修正該問題。

    1,poi格子里的文本如何換行
    ? 加"\n",同時設置style.setWrapText(true);
    ?
    2,style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
    ?style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    ?設置前景色,有半透明的效果
    ?
    3,sheet.addMergedRegion(new Region(0, (short) 0, 0, (short) 1));// 起始cell行、起始cell列、結束cell行、結束cell列。
    ?? 被合并了的單元格不需要生成。
    ?? 單元格合并後設置邊框只在原第一個上有效,如果想應用的合并後的整體,則需要一個個的Create出單元格并應用樣式,這個明顯是一個不太方便的操作,期待POI下一版的改進了
    ?? 注意行是y軸,列是x軸。
    ?? poi-contrib下的HSSFRegionUtil可以設置合并區域的邊框的顏色和樣式
    例如:HSSFRegionUtil.setLeftBorderColor(HSSFColor.BLACK.index,row,sheet,wb);

    4,sheet.createFreezePane(2, 1);
    ? 凍結窗口,左上角為行參和列參的起始處,從0開始
    ?
    5,列寬sheet.setColumnWidth((short) 0, (short) (35.7 * 110));//第一個參數為列的下標,110為想設置的寬度像素。
    ? http://www.cnblogs.com/interboy/archive/2007/08/27/872028.html

    6,行高row.setHeight((short) (15.625 * 100));//100為要設置的行高的像素
    ?? row.setHeightInPoints((short)100);//應該可以達到同樣的效果

    7, POI將註解的部分,視做一個文字方塊,我們可以設定它的大小及內容,然後將之指定給某特定的Cell。
    節錄部分Code如下:
    HSSFPatriarch patr = sheet.createDrawingPatriarch();
    HSSFComment comment = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 8, rowCount));
    HSSFRichTextString str = new HSSFRichTextString("TEST");
    comment.setString(str);
    comment.setAuthor("TEST");
    cell.setCellComment(comment);

    8,sheet的中文名
    workbook.setSheetName(0,"統計",(short)1);//第三個參數為編碼方式,HSSFWorkbook.ENCODING_UTF_16=1
    sheet的名稱不允許出現重復。

    9, 先定義一個基本樣式,再復制樣式的屬性。不知何故不能clonebean
    ? HSSFCellStyle headerStyle = workbook.createCellStyle();
    ? PropertyUtils.copyProperties(headerStyle, baseStyle);//

    10, 輸出,中文名
    ??????? response.reset();
    ?? ??? ?response.setContentType("applicationnd.ms-excel");
    ?? ??? ?response.addHeader("Content-disposition",
    ?? ??? ??? ??? ?"attachment;filename="+new String("統計".getBytes("GBK"), "ISO-8859-1")+".xls");
    ?? ??? ?ServletOutputStream out = response.getOutputStream();
    ?? ??? ?workbook.write(out);
    ?? ??? ?out.flush();
    ?? ??? ?out.close();

    11,cell.setCellValue(new HSSFRichTextString("測試"));
    在poi2.5.1里不管用,只能用cell.setCellValue("測試");
    忘了二者有何區別

    12,直接用workbook.getBytes()得到的文檔內容的結構是有問題的,會導致打開xls時報錯。
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    workBook.write(bos);
    //ByteArrayInputStream is = new ByteArrayInputStream(workBook.getBytes());//錯誤
    ByteArrayInputStream is = new ByteArrayInputStream(bos.toByteArray());//正確
    詳見 http://numenzq.javaeye.com/blog/218816

    13,POI的老版本的下載地址:http://archive.apache.org/dist/jakarta/poi/release/bin

    14,每個sheet有65536的最大行數限制?
    ?? 數據量非常大時,拆分為多個sheet(每個1萬行)可顯著降低內存占用。
    ?? http://www.javaeye.com/topic/74835?page=3

    15,可用PropertyUtils.copyProperties(newStyle, baseStyle)把baseStyle的屬性拷貝到newStyle中,但Font等拷貝不了。(淺拷貝,深拷貝?)

    16,POI如何復制行,設置分頁符bug? 使用POI操作Excel的幾點注意事項
    和http://m.tkk7.com/liaojiyong/archive/2007/11/14/160588.html

    17,復制行,復制sheet
    http://zhidao.baidu.com/question/66868683.html
    http://www.aub.org.cn/J2SE/Article137612.html
    http://zhidao.baidu.com/question/42447398.html

    18,用HSSFCell的getCellType()只能判斷三種類型,返回值為int ? 0,1,2 ?
    ? numeric(0), ? formula(2) ? or ? string(1) ?
    ? 但是僅僅依靠這個有時候不能完全解決問題, ?
    ? 有時候需要用HSSFDataFormat來共同判斷: ?
    ??? cell.getCellStyle().getDataFormat()
    見http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/BuiltinFormats.html
    ? https://svn.apache.org/repos/asf/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java


    19,poi3.2把以下屬性或方法刪掉了:
    HSSFWorkbook.ENCODING_UTF_16
    cell.setEncoding
    所以還是繼續用poi3.0.2吧
    ?? ??? ?
    http://blog.csdn.net/impeller/archive/2007/10/29/1855368.aspx
    解析Excel注釋,填充并生成報表的一個例子
    http://hi.baidu.com/bluewhale84/blog/item/b9ebd5c295911130e4dd3bd0.html
    http://kevintuntun.bokee.com/2692649.html
    http://www.ccw.com.cn/htm/center/prog/02_10_22_2.asp
    http://llying.javaeye.com/blog/171455
    http://hi.baidu.com/fish1996/blog/item/71412181e9825bdabd3e1eed.html(toutf8string)
    poi的一個讓人失望的bug

    openxml4j支持excel2007


    主站蜘蛛池模板: 亚洲成a人无码亚洲成www牛牛| 久久久久噜噜噜亚洲熟女综合| 精品亚洲A∨无码一区二区三区| 中文字幕成人免费高清在线 | 一级看片免费视频囗交| 国产精品国产午夜免费福利看| 亚洲AV无码国产剧情| 亚洲狠狠爱综合影院婷婷| 一级特级女人18毛片免费视频| 亚洲精品线路一在线观看| 中国内地毛片免费高清| 亚洲人成人无码网www电影首页| 嫩草成人永久免费观看 | 亚洲中文字幕久久精品无码VA| 日韩精品成人无码专区免费| 亚洲综合小说另类图片动图| 又黄又爽的视频免费看| 一个人看的免费视频www在线高清动漫 | 久久福利资源网站免费看| 国产成人精品日本亚洲11| 日本xxwwxxww在线视频免费| 韩国欧洲一级毛片免费| 香蕉97碰碰视频免费| 亚洲av永久无码制服河南实里| 中文字幕视频免费| 午夜亚洲国产理论片二级港台二级| 亚洲国产人成中文幕一级二级| 免费成人在线电影| 中文字幕在线观看亚洲日韩| 亚洲精品国产V片在线观看| 国产成人无码区免费内射一片色欲| 亚洲国产一区在线观看| 国产成人免费ā片在线观看| 国产免费爽爽视频在线观看| 亚洲日韩一中文字暮| 亚洲午夜未满十八勿入网站2| 免费在线观看h片| 亚洲阿v天堂在线2017免费| 亚洲国产成人精品久久| 亚洲性在线看高清h片| 亚洲精品动漫免费二区|