Java 类org.apache.poi.ss.usermodel.PictureData 实例源码

项目:poix    文件:PoiPublicUtil.java   
/**
 * 获取Excel2007图片
 * 
 * @param sheet
 *            当前sheet对象
 * @param workbook
 *            工作簿对象
 * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData
 */
public static Map<String, PictureData> getSheetPictrues07(XSSFSheet sheet,
                                                          XSSFWorkbook workbook) {
    Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
    for (POIXMLDocumentPart dr : sheet.getRelations()) {
        if (dr instanceof XSSFDrawing) {
            XSSFDrawing drawing = (XSSFDrawing) dr;
            List<XSSFShape> shapes = drawing.getShapes();
            for (XSSFShape shape : shapes) {
                XSSFPicture pic = (XSSFPicture) shape;
                XSSFClientAnchor anchor = pic.getPreferredSize();
                CTMarker ctMarker = anchor.getFrom();
                String picIndex = ctMarker.getRow() + "_" + ctMarker.getCol();
                sheetIndexPicMap.put(picIndex, pic.getPictureData());
            }
        }
    }
    return sheetIndexPicMap;
}
项目:poix    文件:PoiPublicUtil.java   
/**
 * 获取Excel2003图片
 * 
 * @param sheet
 *            当前sheet对象
 * @param workbook
 *            工作簿对象
 * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData
 */
public static Map<String, PictureData> getSheetPictrues03(HSSFSheet sheet,
                                                          HSSFWorkbook workbook) {
    Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
    List<HSSFPictureData> pictures = workbook.getAllPictures();
    if (!pictures.isEmpty()) {
        for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
            HSSFClientAnchor anchor = (HSSFClientAnchor) shape.getAnchor();
            if (shape instanceof HSSFPicture) {
                HSSFPicture pic = (HSSFPicture) shape;
                int pictureIndex = pic.getPictureIndex() - 1;
                HSSFPictureData picData = pictures.get(pictureIndex);
                String picIndex = String.valueOf(anchor.getRow1()) + "_"
                                  + String.valueOf(anchor.getCol1());
                sheetIndexPicMap.put(picIndex, picData);
            }
        }
        return sheetIndexPicMap;
    } else {
        return sheetIndexPicMap;
    }
}
项目:easypoi    文件:PoiPublicUtil.java   
/**
 * 获取Excel2003图片
 * 
 * @param sheet
 *            当前sheet对象
 * @param workbook
 *            工作簿对象
 * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData
 */
public static Map<String, PictureData> getSheetPictrues03(HSSFSheet sheet, HSSFWorkbook workbook) {
    Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
    List<HSSFPictureData> pictures = workbook.getAllPictures();
    if (!pictures.isEmpty()) {
        for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
            HSSFClientAnchor anchor = (HSSFClientAnchor) shape.getAnchor();
            if (shape instanceof HSSFPicture) {
                HSSFPicture pic = (HSSFPicture) shape;
                int pictureIndex = pic.getPictureIndex() - 1;
                HSSFPictureData picData = pictures.get(pictureIndex);
                String picIndex = String.valueOf(anchor.getRow1()) + "_"
                                  + String.valueOf(anchor.getCol1());
                sheetIndexPicMap.put(picIndex, picData);
            }
        }
        return sheetIndexPicMap;
    } else {
        return null;
    }
}
项目:easypoi    文件:PoiPublicUtil.java   
/**
 * 获取Excel2007图片
 * 
 * @param sheet
 *            当前sheet对象
 * @param workbook
 *            工作簿对象
 * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData
 */
public static Map<String, PictureData> getSheetPictrues07(XSSFSheet sheet, XSSFWorkbook workbook) {
    Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
    for (POIXMLDocumentPart dr : sheet.getRelations()) {
        if (dr instanceof XSSFDrawing) {
            XSSFDrawing drawing = (XSSFDrawing) dr;
            List<XSSFShape> shapes = drawing.getShapes();
            for (XSSFShape shape : shapes) {
                XSSFPicture pic = (XSSFPicture) shape;
                XSSFClientAnchor anchor = pic.getPreferredSize();
                CTMarker ctMarker = anchor.getFrom();
                String picIndex = ctMarker.getRow() + "_" + ctMarker.getCol();
                sheetIndexPicMap.put(picIndex, pic.getPictureData());
            }
        }
    }
    return sheetIndexPicMap;
}
项目:poix    文件:ExcelImportServer.java   
/***
 * 向List里面继续添加元素
 * 
 * @param object
 * @param param
 * @param row
 * @param titlemap
 * @param targetId
 * @param pictures
 * @param params
 */
private void addListContinue(Object object, ExcelCollectionParams param, Row row,
                             Map<Integer, String> titlemap, String targetId,
                             Map<String, PictureData> pictures,
                             ImportParams params) throws Exception {
    Collection collection = (Collection) PoiReflectorUtil.fromCache(object.getClass())
        .getValue(object, param.getName());
    Object entity = PoiPublicUtil.createObject(param.getType(), targetId);
    String picId;
    boolean isUsed = false;// 是否需要加上这个对象
    for (int i = row.getFirstCellNum(); i < param.getExcelParams().size(); i++) {
        Cell cell = row.getCell(i);
        String titleString = (String) titlemap.get(i);
        if (param.getExcelParams().containsKey(titleString)) {
            if (param.getExcelParams().get(titleString).getType() == 2) {
                picId = row.getRowNum() + "_" + i;
                saveImage(object, picId, param.getExcelParams(), titleString, pictures, params);
            } else {
                saveFieldValue(params, entity, cell, param.getExcelParams(), titleString, row);
            }
            isUsed = true;
        }
    }
    if (isUsed) {
        collection.add(entity);
    }
}
项目:poix    文件:ExcelImportServer.java   
/**
 * 
 * @param object
 * @param picId
 * @param excelParams
 * @param titleString
 * @param pictures
 * @param params
 * @throws Exception
 */
private void saveImage(Object object, String picId, Map<String, ExcelImportEntity> excelParams,
                       String titleString, Map<String, PictureData> pictures,
                       ImportParams params) throws Exception {
    if (pictures == null) {
        return;
    }
    PictureData image = pictures.get(picId);
    if(image == null) {
        return;
    }
    byte[] data = image.getData();
    String fileName = "pic" + Math.round(Math.random() * 100000000000L);
    fileName += "." + PoiPublicUtil.getFileExtendName(data);
    if (excelParams.get(titleString).getSaveType() == 1) {
        String path = PoiPublicUtil
            .getWebRootPath(getSaveUrl(excelParams.get(titleString), object));
        File savefile = new File(path);
        if (!savefile.exists()) {
            savefile.mkdirs();
        }
        savefile = new File(path + "/" + fileName);
        FileOutputStream fos = new FileOutputStream(savefile);
        try {
            fos.write(data);
        } finally {
            IOUtils.closeQuietly(fos);
        }
        setValues(excelParams.get(titleString), object,
            getSaveUrl(excelParams.get(titleString), object) + "/" + fileName);
    } else {
        setValues(excelParams.get(titleString), object, data);
    }
}
项目:easypoi    文件:ExcelImportServer.java   
/***
 * 向List里面继续添加元素
 * 
 * @param exclusions
 * @param object
 * @param param
 * @param row
 * @param titlemap
 * @param targetId
 * @param pictures
 * @param params
 */
private void addListContinue(Object object, ExcelCollectionParams param, Row row,
                             Map<Integer, String> titlemap, String targetId,
                             Map<String, PictureData> pictures, ImportParams params)
                                                                                    throws Exception {
    Collection collection = (Collection) PoiPublicUtil.getMethod(param.getName(),
        object.getClass()).invoke(object, new Object[] {});
    Object entity = PoiPublicUtil.createObject(param.getType(), targetId);
    String picId;
    boolean isUsed = false;// 是否需要加上这个对象
    for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) {
        Cell cell = row.getCell(i);
        String titleString = (String) titlemap.get(i);
        if (param.getExcelParams().containsKey(titleString)) {
            if (param.getExcelParams().get(titleString).getType() == 2) {
                picId = row.getRowNum() + "_" + i;
                saveImage(object, picId, param.getExcelParams(), titleString, pictures, params);
            } else {
                saveFieldValue(params, entity, cell, param.getExcelParams(), titleString, row);
            }
            isUsed = true;
        }
    }
    if (isUsed) {
        collection.add(entity);
    }
}
项目:easypoi    文件:ExcelImportServer.java   
/**
 * 
 * @param object
 * @param picId
 * @param excelParams
 * @param titleString
 * @param pictures
 * @param params
 * @throws Exception
 */
private void saveImage(Object object, String picId, Map<String, ExcelImportEntity> excelParams,
                       String titleString, Map<String, PictureData> pictures,
                       ImportParams params) throws Exception {
    if (pictures == null) {
        return;
    }
    PictureData image = pictures.get(picId);
    byte[] data = image.getData();
    String fileName = "pic" + Math.round(Math.random() * 100000000000L);
    fileName += "." + PoiPublicUtil.getFileExtendName(data);
    if (excelParams.get(titleString).getSaveType() == 1) {
        String path = PoiPublicUtil.getWebRootPath(getSaveUrl(excelParams.get(titleString),
            object));
        File savefile = new File(path);
        if (!savefile.exists()) {
            savefile.mkdirs();
        }
        savefile = new File(path + "/" + fileName);
        FileOutputStream fos = new FileOutputStream(savefile);
        fos.write(data);
        fos.close();
        setValues(excelParams.get(titleString), object,
            getSaveUrl(excelParams.get(titleString), object) + "/" + fileName);
    } else {
        setValues(excelParams.get(titleString), object, data);
    }
}
项目:excel2javabeans    文件:ImageTest.java   
@SneakyThrows
public static String createPicture(PictureData picture) {
    if (picture == null) return "null";

    val extension = picture.suggestFileExtension();
    val imageFileName = String.valueOf(WestId.next()) + "." + extension;
    File file = new File(imageFileName);
    file.deleteOnExit(); // comment out this for human assertion
    @Cleanup val out = new FileOutputStream(file);
    out.write(picture.getData());

    return imageFileName;
}
项目:excel2canvas    文件:ExcelToCanvasBuilder.java   
private void addPictureInfo(ExcelToCanvas ret, PictureData data, int[] p, String border) {
    if (this.readRange != null) {
        int sx = getColLeft(this.readRange.x);
        int sy = getRowTop(this.readRange.y);
        p[0] -= sx;
        p[1] -= sy;
        if (p[0] < 0 || p[1] < 0) {
            return;
        }
        if (p[0] + p[2] > sx + ret.getWidth()  || p[1] + p[3] > sy + ret.getHeight()) {
            return;
        }
    }
    ret.addPictureInfo(new ExcelToCanvas.PictureInfo(data, p, border));
}
项目:excel2canvas    文件:ExcelToCanvas.java   
public PictureInfo(PictureData data, int[] p, String border) {
    StringBuilder buf = new StringBuilder();
    buf.append("data:")
        .append(data.getMimeType())
        .append(";base64,");
    buf.append(Base64.encodeBase64String(data.getData()));
    this.uri = buf.toString();
    this.p = p;
    this.border = border;

    this.data = data.getData();
    this.mimeType = data.getMimeType();
    this.ext = data.suggestFileExtension();
}
项目:hy.common.report    文件:ImageAreaInfo.java   
public ImageAreaInfo(ClientAnchor i_Anchor ,PictureData i_PictureData)
{
    this.anchor      = i_Anchor;
    this.pictureData = i_PictureData;
}
项目:hy.common.report    文件:ImageAreaInfo.java   
public PictureData getPictureData()
{
    return pictureData;
}
项目:hy.common.report    文件:ImageAreaInfo.java   
public void setPictureData(PictureData pictureData)
{
    this.pictureData = pictureData;
}
项目:excel2javabeans    文件:ExcelImages.java   
public static ImageData createImageData(PictureData pic) {
    return new ImageData(pic.getData(), pic.suggestFileExtension(), pic.getMimeType(), pic.getPictureType());
}
项目:excel-streaming-reader    文件:StreamingWorkbook.java   
/**
 * Not supported
 */
@Override
public List<? extends PictureData> getAllPictures() {
  throw new UnsupportedOperationException();
}