@Override public void inlineToXlsx(SpreadsheetMLPackage pkg, WorksheetPart worksheetPart, Cell newCell, Object paramValue, Matcher matcher) { try { Image image = new Image(paramValue, matcher); if (image.isValid()) { BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(pkg, worksheetPart, image.imageContent); CTOneCellAnchor anchor = new CTOneCellAnchor(); anchor.setFrom(new CTMarker()); CellReference cellReference = new CellReference("", newCell.getR()); anchor.getFrom().setCol(cellReference.getColumn() - 1); anchor.getFrom().setRow(cellReference.getRow() - 1); anchor.setExt(new CTPositiveSize2D()); anchor.getExt().setCx(XlsxUtils.convertPxToEmu(image.width)); anchor.getExt().setCy(XlsxUtils.convertPxToEmu(image.height)); newCell.setV(null); putImage(worksheetPart, pkg, imagePart, anchor); } } catch (Exception e) { throw new ReportFormattingException("An error occurred while inserting bitmap to xlsx file", e); } }
@Override public void inlineToXlsx(SpreadsheetMLPackage pkg, WorksheetPart worksheetPart, Cell newCell, Object paramValue, Matcher matcher) { try { Image image = new Image(paramValue, matcher); if (image.isValid()) { BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(pkg, worksheetPart, image.imageContent); CTOneCellAnchor anchor = new CTOneCellAnchor(); anchor.setFrom(new CTMarker()); CellReference cellReference = new CellReference("", newCell.getR()); anchor.getFrom().setCol(cellReference.getColumn() - 1); anchor.getFrom().setRow(cellReference.getRow() - 1); anchor.setExt(new CTPositiveSize2D()); anchor.getExt().setCx(XlsxUtils.convertPxToEmu(image.width)); anchor.getExt().setCy(XlsxUtils.convertPxToEmu(image.height)); newCell.setV(null); putImage(worksheetPart, pkg, imagePart, anchor); } } catch (Exception e) { throw new ReportFormattingException("An error occurred while inserting bitmap to xlsx file", e); } }