org.apache.poi.xssf.usermodel.XSSFPicture.getPictureData()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(891)

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

XSSFPicture.getPictureData介绍

[英]Return picture data for this shape
[中]返回此形状的图片数据

代码示例

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

/**
 * Return picture data for this shape
 *
 * @return picture data for this shape
 */
@Override
public XSSFPictureData getPictureData() {
  return _picture.getPictureData();
}

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

/**
 * Return the dimension of the embedded image in pixel
 *
 * @return image dimension in pixels
 */
public Dimension getImageDimension() {
  XSSFPictureData picData = getPictureData();
  return getImageDimension(picData.getPackagePart(), picData.getPictureType());
}

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

/**
 * 获取XLSX工作簿指定sheet中图片列表
 * 
 * @param workbook 工作簿{@link Workbook}
 * @param sheetIndex sheet的索引
 * @return 图片映射,键格式:行_列,值:{@link PictureData}
 */
private static Map<String, PictureData> getPicMapXlsx(XSSFWorkbook workbook, int sheetIndex) {
  final Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
  final XSSFSheet sheet = workbook.getSheetAt(sheetIndex);
  XSSFDrawing drawing;
  for (POIXMLDocumentPart dr : sheet.getRelations()) {
    if (dr instanceof XSSFDrawing) {
      drawing = (XSSFDrawing) dr;
      final List<XSSFShape> shapes = drawing.getShapes();
      XSSFPicture pic;
      CTMarker ctMarker;
      for (XSSFShape shape : shapes) {
        pic = (XSSFPicture) shape;
        ctMarker = pic.getPreferredSize().getFrom();
        sheetIndexPicMap.put(StrUtil.format("{}_{}", ctMarker.getRow(), ctMarker.getCol()), pic.getPictureData());
      }
    }
  }
  return sheetIndexPicMap;
}
// -------------------------------------------------------------------------------------------------------------- Private method end

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

/**
 * 获取XLSX工作簿指定sheet中图片列表
 * 
 * @param workbook 工作簿{@link Workbook}
 * @param sheetIndex sheet的索引
 * @return 图片映射,键格式:行_列,值:{@link PictureData}
 */
private static Map<String, PictureData> getPicMapXlsx(XSSFWorkbook workbook, int sheetIndex) {
  final Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
  final XSSFSheet sheet = workbook.getSheetAt(sheetIndex);
  XSSFDrawing drawing;
  for (POIXMLDocumentPart dr : sheet.getRelations()) {
    if (dr instanceof XSSFDrawing) {
      drawing = (XSSFDrawing) dr;
      final List<XSSFShape> shapes = drawing.getShapes();
      XSSFPicture pic;
      CTMarker ctMarker;
      for (XSSFShape shape : shapes) {
        pic = (XSSFPicture) shape;
        ctMarker = pic.getPreferredSize().getFrom();
        sheetIndexPicMap.put(StrUtil.format("{}_{}", ctMarker.getRow(), ctMarker.getCol()), pic.getPictureData());
      }
    }
  }
  return sheetIndexPicMap;
}
// -------------------------------------------------------------------------------------------------------------- Private method end

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

/**
 * Return picture data for this shape
 *
 * @return picture data for this shape
 */
@Override
public XSSFPictureData getPictureData() {
  return _picture.getPictureData();
}

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

/**
 * Return the dimension of the embedded image in pixel
 *
 * @return image dimension in pixels
 */
public Dimension getImageDimension() {
  XSSFPictureData picData = getPictureData();
  return getImageDimension(picData.getPackagePart(), picData.getPictureType());
}

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

XSSFSheet sheet = workBook.getSheetAt(0);
   XSSFDrawing drawing = sheet.createDrawingPatriarch(); // I know it is ugly, actually you get the actual instance here
   for (XSSFShape shape : drawing.getShapes()) {
     if (shape instanceof XSSFPicture) {
       XSSFPicture picture = (XSSFPicture) shape;
       XSSFPictureData xssfPictureData = picture.getPictureData();
       ClientAnchor anchor = picture.getPreferredSize();
       int row1 = anchor.getRow1();
       int row2 = anchor.getRow2();
       int col1 = anchor.getCol1();
       int col2 = anchor.getCol2();
       System.out.println("Row1: " + row1 + " Row2: " + row2);
       System.out.println("Column1: " + col1 + " Column2: " + col2);
       // Saving the file
       String ext = xssfPictureData.suggestFileExtension();                
       byte[] data = xssfPictureData.getData();
       String filePath = "C:\\..\\Images\\" + xssfPictureData.getPackagePart().getPartName();
       try (FileOutputStream os = new FileOutputStream(filePath)) {
         os.write(data);
         os.flush();         
       }
     }
   }

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

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

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

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

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

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

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

/**
 * 获取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) {
        if (shape instanceof XSSFPicture) {
          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;
}

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

/**
 * 获取XLSX工作簿指定sheet中图片列表
 * 
 * @param workbook 工作簿{@link Workbook}
 * @param sheetIndex sheet的索引
 * @return 图片映射,键格式:行_列,值:{@link PictureData}
 */
private static Map<String, PictureData> getPicMapXlsx(XSSFWorkbook workbook, int sheetIndex) {
  final Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
  final XSSFSheet sheet = workbook.getSheetAt(sheetIndex);
  XSSFDrawing drawing;
  for (POIXMLDocumentPart dr : sheet.getRelations()) {
    if (dr instanceof XSSFDrawing) {
      drawing = (XSSFDrawing) dr;
      final List<XSSFShape> shapes = drawing.getShapes();
      XSSFPicture pic;
      CTMarker ctMarker;
      for (XSSFShape shape : shapes) {
        pic = (XSSFPicture) shape;
        ctMarker = pic.getPreferredSize().getFrom();
        sheetIndexPicMap.put(StrUtil.format("{}_{}", ctMarker.getRow(), ctMarker.getCol()), pic.getPictureData());
      }
    }
  }
  return sheetIndexPicMap;
}
// -------------------------------------------------------------------------------------------------------------- Private method end

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

XSSFClientAnchor anchor = (XSSFClientAnchor)getAnchor();
XSSFPictureData data = getPictureData();
Dimension size = getImageDimension(data.getPackagePart(), data.getPictureType());
double scaledWidth = size.getWidth() * scale;

相关文章