本文整理汇总了Java中org.apache.poi.hssf.usermodel.HSSFPicture类的典型用法代码示例。如果您正苦于以下问题:Java HSSFPicture类的具体用法?Java HSSFPicture怎么用?Java HSSFPicture使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HSSFPicture类属于org.apache.poi.hssf.usermodel包,在下文中一共展示了HSSFPicture类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSheetPictrues03
import org.apache.poi.hssf.usermodel.HSSFPicture; //导入依赖的package包/类
/**
* 获取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;
}
}
示例2: getSheetPictrues03
import org.apache.poi.hssf.usermodel.HSSFPicture; //导入依赖的package包/类
/**
* 获取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;
}
}
示例3: readAllCellImages
import org.apache.poi.hssf.usermodel.HSSFPicture; //导入依赖的package包/类
private static Table<Integer, Integer, ImageData> readAllCellImages(HSSFPatriarch patriarch, Sheet sheet) {
val images = HashBasedTable.<Integer, Integer, ImageData>create();
val allPictures = sheet.getWorkbook().getAllPictures();
for (val shape : patriarch.getChildren()) {
if (!(shape instanceof HSSFPicture && shape.getAnchor() instanceof HSSFClientAnchor)) continue;
val picture = (HSSFPicture) shape;
val imageData = createImageData(allPictures.get(picture.getPictureIndex() - 1));
val axisRow = computeAxisRowIndex(sheet, picture);
val axisCol = computeAxisColIndex(sheet, picture);
images.put(axisRow, axisCol, imageData);
}
return images;
}
示例4: processSheetImage
import org.apache.poi.hssf.usermodel.HSSFPicture; //导入依赖的package包/类
private void processSheetImage(Element htmlBody, HSSFSheet sheet) {
// Element h2 = htmlDocumentFacade.createImage(logo);
// h2.setAttribute("style", "top:112px;left:300px;position:absolute");
// htmlBody.appendChild( h2 );
if (sheet.getDrawingPatriarch() != null) {
final List<HSSFShape> shapes = sheet.getDrawingPatriarch()
.getChildren();
for (int i = 0; i < shapes.size(); ++i) {
if (shapes.get(i) instanceof HSSFPicture) {
try {
// Gain access to private field anchor.
final HSSFPicture pic = (HSSFPicture) shapes.get(i);
picMap.put(pic.getPreferredSize().getCol1()+":"+pic.getPreferredSize().getRow1(), pic);
} catch (final Exception e) {
throw new RuntimeException(e);
}
}
}
}
}
示例5: setImage
import org.apache.poi.hssf.usermodel.HSSFPicture; //导入依赖的package包/类
private void setImage(final HSSFWorkbook workbook, final HSSFSheet sheet, final CellLocation cellLocation, int width, int height) {
POIUtils.setCellValue(sheet, cellLocation, "");
if (imageBuffer != null) {
final HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
final HSSFPicture picture = patriarch.createPicture(new HSSFClientAnchor(), pictureIndex);
final Dimension dimension = picture.getImageDimension();
final float rate = (float) dimension.width / (float) dimension.height;
final float specifiedRate = (float) width / (float) height;
if (width == -1 || height == -1) {
width = dimension.width;
height = dimension.height;
} else {
if (rate > specifiedRate) {
if (dimension.width > width) {
height = (int) (width / rate);
} else {
width = dimension.width;
height = dimension.height;
}
} else {
if (dimension.height > height) {
width = (int) (height * rate);
} else {
width = dimension.width;
height = dimension.height;
}
}
}
final HSSFClientAnchor preferredSize = getPreferredSize(sheet, new HSSFClientAnchor(0, 0, 0, 0, (short) cellLocation.c, cellLocation.r, (short) 0, 0), width, height);
picture.setAnchor(preferredSize);
}
}
示例6: setImage
import org.apache.poi.hssf.usermodel.HSSFPicture; //导入依赖的package包/类
private void setImage(HSSFWorkbook workbook, HSSFSheet sheet,
CellLocation cellLocation, int width, int height) {
POIUtils.setCellValue(sheet, cellLocation, "");
if (this.imageBuffer != null) {
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
HSSFPicture picture = patriarch.createPicture(
new HSSFClientAnchor(), this.pictureIndex);
Dimension dimension = picture.getImageDimension();
float rate = (float) dimension.width / (float) dimension.height;
float specifiedRate = (float) width / (float) height;
if (width == -1 || height == -1) {
width = dimension.width;
height = dimension.height;
} else {
if (rate > specifiedRate) {
if (dimension.width > width) {
height = (int) (width / rate);
} else {
width = dimension.width;
height = dimension.height;
}
} else {
if (dimension.height > height) {
width = (int) (height * rate);
} else {
width = dimension.width;
height = dimension.height;
}
}
}
HSSFClientAnchor preferredSize = this.getPreferredSize(sheet,
new HSSFClientAnchor(0, 0, 0, 0, (short) cellLocation.c,
cellLocation.r, (short) 0, 0), width, height);
picture.setAnchor(preferredSize);
}
}
示例7: table
import org.apache.poi.hssf.usermodel.HSSFPicture; //导入依赖的package包/类
private void table(final HSSFSheet sheet) {
if (sheet == null) {
return;
}
if (sheet.getDrawingPatriarch() != null) {
final List<HSSFShape> shapes = sheet.getDrawingPatriarch()
.getChildren();
for (int i = 0; i < shapes.size(); ++i) {
if (shapes.get(i) instanceof HSSFPicture) {
try {
// Gain access to private field anchor.
final HSSFShape pic = shapes.get(i);
final Field f = HSSFShape.class
.getDeclaredField("anchor");
f.setAccessible(true);
final HSSFClientAnchor anchor = (HSSFClientAnchor) f
.get(pic);
// Store picture cell row, column and picture data.
if (!pix.containsKey(anchor.getRow1())) {
pix.put(anchor.getRow1(),
new HashMap<Short, List<HSSFPictureData>>());
}
if (!pix.get(anchor.getRow1()).containsKey(
anchor.getCol1())) {
pix.get(anchor.getRow1()).put(anchor.getCol1(),
new ArrayList<HSSFPictureData>());
}
pix.get(anchor.getRow1())
.get(anchor.getCol1())
.add(book.getAllPictures().get(
((HSSFPicture) pic).getPictureIndex()));
} catch (final Exception e) {
throw new RuntimeException(e);
}
}
}
}
out.append("<table cellspacing='0' style='border-spacing:0; border-collapse:collapse;'>\n");
for (rowIndex = 0; rowIndex < sheet.getPhysicalNumberOfRows(); ++rowIndex) {
tr(sheet.getRow(rowIndex));
}
out.append("</table>\n");
}