<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://www.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


    主站蜘蛛池模板: 亚洲综合色丁香婷婷六月图片| 亚洲AV无码日韩AV无码导航 | 国产AV无码专区亚洲AWWW| 亚洲av片在线观看| 成人免费在线视频| 最新亚洲人成网站在线观看| 国产大片免费观看中文字幕| 337P日本欧洲亚洲大胆艺术图| 国产色婷婷精品免费视频| 免费看黄网站在线看 | 四虎永久免费网站免费观看| 亚洲丶国产丶欧美一区二区三区| 免费看片A级毛片免费看| 成人性做爰aaa片免费看| 国产成人精品日本亚洲专区61| a毛片全部播放免费视频完整18| 亚洲精品美女久久777777| 亚洲免费视频网站| 中文字幕亚洲男人的天堂网络| 在线jlzzjlzz免费播放| 黄色一级免费网站| 亚洲av无码不卡| 毛片免费在线观看网站| 免费一级毛片在线播放放视频| 亚洲精品无码久久久久去q | 亚洲国产精品自在在线观看| 免费99精品国产自在现线| 午夜亚洲国产精品福利| 亚洲精品你懂的在线观看| 久久成人国产精品免费软件| 精品亚洲成A人在线观看青青| a级亚洲片精品久久久久久久 | 黄网站在线播放视频免费观看| 亚洲无线码在线一区观看| 777爽死你无码免费看一二区| 亚洲精品国产摄像头| 亚洲精品美女久久久久99| 希望影院高清免费观看视频| 亚州**色毛片免费观看| 亚洲精品欧洲精品| 亚洲福利在线播放|