Java -- POI -- 随笔汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java -- POI -- 随笔汇总相关的知识,希望对你有一定的参考价值。

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 -- 随笔汇总的主要内容,如果未能解决你的问题,请参考以下文章

java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!

java基础知识文章汇总

团队作业六——beta冲刺+事后诸葛亮博客汇总

青青草原--团队作业6:beta冲刺+事后诸葛亮博客汇总

饱满骑士-团队作业五 α冲刺汇总

Java-poi-excel-对空值单元格的读取