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