org.apache.poi.hssf.usermodel.HSSFPicture.getPictureIndex()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(12.0k)|赞(0)|评价(0)|浏览(128)

本文整理了Java中org.apache.poi.hssf.usermodel.HSSFPicture.getPictureIndex()方法的一些代码示例,展示了HSSFPicture.getPictureIndex()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。HSSFPicture.getPictureIndex()方法的具体详情如下:
包路径:org.apache.poi.hssf.usermodel.HSSFPicture
类名称:HSSFPicture
方法名:getPictureIndex

HSSFPicture.getPictureIndex介绍

暂无

代码示例

代码示例来源:origin: looly/hutool

/**
 * 获取XLS工作簿指定sheet中图片列表
 * 
 * @param workbook 工作簿{@link Workbook}
 * @param sheetIndex sheet的索引
 * @return 图片映射,键格式:行_列,值:{@link PictureData}
 */
private static Map<String, PictureData> getPicMapXls(HSSFWorkbook workbook, int sheetIndex) {
  final Map<String, PictureData> picMap = new HashMap<>();
  final List<HSSFPictureData> pictures = workbook.getAllPictures();
  if (CollectionUtil.isNotEmpty(pictures)) {
    final HSSFSheet sheet = workbook.getSheetAt(sheetIndex);
    HSSFClientAnchor anchor;
    int pictureIndex;
    for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
      if (shape instanceof HSSFPicture) {
        pictureIndex = ((HSSFPicture) shape).getPictureIndex() - 1;
        anchor = (HSSFClientAnchor) shape.getAnchor();
        picMap.put(StrUtil.format("{}_{}", anchor.getRow1(), anchor.getCol1()), pictures.get(pictureIndex));
      }
    }
  }
  return picMap;
}

代码示例来源:origin: looly/hutool

/**
 * 获取XLS工作簿指定sheet中图片列表
 * 
 * @param workbook 工作簿{@link Workbook}
 * @param sheetIndex sheet的索引
 * @return 图片映射,键格式:行_列,值:{@link PictureData}
 */
private static Map<String, PictureData> getPicMapXls(HSSFWorkbook workbook, int sheetIndex) {
  final Map<String, PictureData> picMap = new HashMap<>();
  final List<HSSFPictureData> pictures = workbook.getAllPictures();
  if (CollectionUtil.isNotEmpty(pictures)) {
    final HSSFSheet sheet = workbook.getSheetAt(sheetIndex);
    HSSFClientAnchor anchor;
    int pictureIndex;
    for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
      if (shape instanceof HSSFPicture) {
        pictureIndex = ((HSSFPicture) shape).getPictureIndex() - 1;
        anchor = (HSSFClientAnchor) shape.getAnchor();
        picMap.put(StrUtil.format("{}_{}", anchor.getRow1(), anchor.getCol1()), pictures.get(pictureIndex));
      }
    }
  }
  return picMap;
}

代码示例来源:origin: org.apache.poi/poi

@Override
void afterInsert(HSSFPatriarch patriarch) {
  EscherAggregate agg = patriarch.getBoundAggregate();
  agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord());
  if(getPictureIndex() != -1) {
    EscherBSERecord bse =
        patriarch.getSheet().getWorkbook().getWorkbook().getBSERecord(getPictureIndex());
    bse.setRef(bse.getRef() + 1);
  }
}

代码示例来源:origin: org.apache.poi/poi

/**
 * Return the dimension of the embedded image in pixel
 *
 * @return image dimension in pixels
 */
@Override
public Dimension getImageDimension(){
  InternalWorkbook iwb = getPatriarch().getSheet().getWorkbook().getWorkbook();
  EscherBSERecord bse = iwb.getBSERecord(getPictureIndex());
  byte[] data = bse.getBlipRecord().getPicturedata();
  int type = bse.getBlipTypeWin32();
  return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type);
}

代码示例来源:origin: org.apache.poi/poi

/**
 * Return picture data for this shape
 *
 * @return picture data for this shape or {@code null} if picture wasn't embedded, i.e. external linked
 */
@Override
public HSSFPictureData getPictureData(){
  int picIdx = getPictureIndex();
  if (picIdx == -1) {
    return null;
  }
  
  HSSFPatriarch patriarch = getPatriarch();
  HSSFShape parent = getParent();
  while(patriarch == null && parent != null) {
    patriarch = parent.getPatriarch();
    parent = parent.getParent();
  }
  if(patriarch == null) {
    throw new IllegalStateException("Could not find a patriarch for a HSSPicture");
  }
  InternalWorkbook iwb = patriarch.getSheet().getWorkbook().getWorkbook();
  EscherBSERecord bse = iwb.getBSERecord(picIdx);
  EscherBlipRecord blipRecord = bse.getBlipRecord();
  return new HSSFPictureData(blipRecord);
}

代码示例来源:origin: stackoverflow.com

if (pictures.size() != 0) { 
   if(sheet!=null && sheet.getDrawingPatriarch()!=null && sheet.getDrawingPatriarch().getChildren()!=null) {
   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);  
       HSSFRow row = sheet.getRow(anchor.getRow1());
       HSSFCell cell = row.getCell(0);
       String picIndex = "ID"+String.valueOf(cell);  
       sheetIndexPicMap.put(picIndex, picData);  
     }  
    }  
   }
   return sheetIndexPicMap;  
 } else {  
   return null;  
 }

代码示例来源:origin: cn.afterturn/easypoi-base

/**
 * 获取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;
  }
}

代码示例来源:origin: xiaolanglang/easypoi

/**
 * 获取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;
  }
}

代码示例来源:origin: zhangdaiscott/jeasypoi

/**
 * 获取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;
  }
}

代码示例来源:origin: org.jeecg/easypoi-base

/**
 * 获取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;
  }
}

代码示例来源:origin: com.haulmont.thirdparty/poi

/**
 * Return the dimension of this image
 *
 * @return image dimension
 */
public Dimension getImageDimension(){
  EscherBSERecord bse = getPatriarch().getSheet()._book.getBSERecord(getPictureIndex());
  byte[] data = bse.getBlipRecord().getPicturedata();
  int type = bse.getBlipTypeWin32();
  return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.poi

@Override
void afterInsert(HSSFPatriarch patriarch) {
  EscherAggregate agg = patriarch.getBoundAggregate();
  agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord());
  if(getPictureIndex() != -1) {
    EscherBSERecord bse =
        patriarch.getSheet().getWorkbook().getWorkbook().getBSERecord(getPictureIndex());
    bse.setRef(bse.getRef() + 1);
  }
}

代码示例来源:origin: stackoverflow.com

if (shape instanceof HSSFPicture) {
 HSSFPicture hssfPicture = (HSSFPicture)shape;
 int picIndex = hssfPicture.getPictureIndex();
 String filename = hssfPicture.getFileName();
 int row = hssfPicture.getClientAnchor().getRow1();

代码示例来源:origin: cn.hutool/hutool-all

/**
 * 获取XLS工作簿指定sheet中图片列表
 * 
 * @param workbook 工作簿{@link Workbook}
 * @param sheetIndex sheet的索引
 * @return 图片映射,键格式:行_列,值:{@link PictureData}
 */
private static Map<String, PictureData> getPicMapXls(HSSFWorkbook workbook, int sheetIndex) {
  final Map<String, PictureData> picMap = new HashMap<>();
  final List<HSSFPictureData> pictures = workbook.getAllPictures();
  if (CollectionUtil.isNotEmpty(pictures)) {
    final HSSFSheet sheet = workbook.getSheetAt(sheetIndex);
    HSSFClientAnchor anchor;
    int pictureIndex;
    for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
      if (shape instanceof HSSFPicture) {
        pictureIndex = ((HSSFPicture) shape).getPictureIndex() - 1;
        anchor = (HSSFClientAnchor) shape.getAnchor();
        picMap.put(StrUtil.format("{}_{}", anchor.getRow1(), anchor.getCol1()), pictures.get(pictureIndex));
      }
    }
  }
  return picMap;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.poi

/**
 * Return the dimension of the embedded image in pixel
 *
 * @return image dimension in pixels
 */
@Override
public Dimension getImageDimension(){
  InternalWorkbook iwb = getPatriarch().getSheet().getWorkbook().getWorkbook();
  EscherBSERecord bse = iwb.getBSERecord(getPictureIndex());
  byte[] data = bse.getBlipRecord().getPicturedata();
  int type = bse.getBlipTypeWin32();
  return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type);
}

代码示例来源:origin: com.haulmont.thirdparty/poi

/**
 * Return picture data for this shape
 *
 * @return picture data for this shape
 */
public HSSFPictureData getPictureData(){
  InternalWorkbook iwb = getPatriarch().getSheet().getWorkbook().getWorkbook();
  EscherBlipRecord blipRecord = iwb.getBSERecord(getPictureIndex()).getBlipRecord();
  return new HSSFPictureData(blipRecord);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.poi

/**
 * Return picture data for this shape
 *
 * @return picture data for this shape or {@code null} if picture wasn't embedded, i.e. external linked
 */
@Override
public HSSFPictureData getPictureData(){
  int picIdx = getPictureIndex();
  if (picIdx == -1) {
    return null;
  }
  
  HSSFPatriarch patriarch = getPatriarch();
  HSSFShape parent = getParent();
  while(patriarch == null && parent != null) {
    patriarch = parent.getPatriarch();
    parent = parent.getParent();
  }
  if(patriarch == null) {
    throw new IllegalStateException("Could not find a patriarch for a HSSPicture");
  }
  InternalWorkbook iwb = patriarch.getSheet().getWorkbook().getWorkbook();
  EscherBSERecord bse = iwb.getBSERecord(picIdx);
  EscherBlipRecord blipRecord = bse.getBlipRecord();
  return new HSSFPictureData(blipRecord);
}

代码示例来源:origin: com.haulmont.thirdparty/poi

@Override
void afterInsert(HSSFPatriarch patriarch) {
  EscherAggregate agg = patriarch._getBoundAggregate();
  agg.associateShapeToObjRecord(getEscherContainer().getChildById(EscherClientDataRecord.RECORD_ID), getObjRecord());
  EscherBSERecord bse =
      patriarch.getSheet().getWorkbook().getWorkbook().getBSERecord(getPictureIndex());
  bse.setRef(bse.getRef() + 1);
}

代码示例来源:origin: com.haulmont.thirdparty/poi

opt.setRecordId( EscherOptRecord.RECORD_ID );
opt.addEscherProperty( new EscherSimpleProperty( EscherProperties.BLIP__BLIPTODISPLAY, false, true, shape.getPictureIndex() ) );

代码示例来源:origin: org.openl.rules/org.openl.lib.poi.dev

opt.setRecordId( EscherOptRecord.RECORD_ID );
opt.addEscherProperty( new EscherSimpleProperty( EscherProperties.BLIP__BLIPTODISPLAY, false, true, shape.getPictureIndex() ) );

相关文章