码迷,mamicode.com
首页 > 编程语言 > 详细

Java -- POI -- 随笔汇总

时间:2017-09-03 14:58:15      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:return   etl   last   blog   iar   rowspan   注意   private   合并   

1. 判断指定的单元格是否是合并单元格

    /**
     * 功能:判断指定的单元格是否是合并单元格
     * 原理:excel中的合并单元格其实就是首单元格,只不过该单元格增加了 rowspan和colspan两个属性。
     * 并且把该单元格的高度和宽度变成(例如rowspan=2,colspan=3)2行,3列的的标尺长度,再把被合并的单元格(除了首单元格的其余5个单元格)隐藏。
     * @param wsheet
     * @param row
     * @param column
     * @return
     */
    private Integer isMergedRegion(Sheet wsheet, int row, int column) {
        //getNumMergedRegions:得到所有区域
        for(int i = 0;i < wsheet.getNumMergedRegions();i++){
            //根据索引获取指定的合并单元区域
            CellRangeAddress range = wsheet.getMergedRegion(i);
            int firstColumn = range.getFirstColumn();
            int lasColumn = range.getLastColumn();
            int firstRow = range.getFirstRow();
            int lastRow = range.getLastRow();
            if(row >= firstRow && row <= lastRow){
                if(column >= firstColumn && column <= lasColumn){
                    return i;
                }
            }
        }
        return -1;
    }

2. 插入图片

//            获取图片字节输入流
            ByteArrayOutputStream data = (ByteArrayOutputStream) tempCell.getData();
//            画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)
            Drawing drawingPatriarch = wsheet.createDrawingPatriarch();
//            anchor主要用于设置图片的属性
//            dx1、dy1、dx2、dy2、col1,row1,col2,row2
            HSSFClientAnchor hssfClientAnchor = new HSSFClientAnchor(0, 0, 255, 255,(short)firstColumn,firstRow,(short)lastColumn,lastRow);
//            不知道什么意思
            hssfClientAnchor.setAnchorType(ClientAnchor.AnchorType.byId(3));
//            添加图片到工作表并设置图片格式
            int pictureIndex = workbook.addPicture(data.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG);
            //将图片配合图片属性添加到画图管理器中
            drawingPatriarch.createPicture(hssfClientAnchor,pictureIndex);

3. 

啦啦啦

Java -- POI -- 随笔汇总

标签:return   etl   last   blog   iar   rowspan   注意   private   合并   

原文地址:http://www.cnblogs.com/ClassNotFoundException/p/7469534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!