org.apache.poi.xslf.usermodel.XSLFSheet类的使用及代码示例

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

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

XSLFSheet介绍

暂无

代码示例

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

@Override
public XSLFTextBox createTextBox(){
  XSLFTextBox sh = getDrawing().createTextBox();
  getShapes().add(sh);
  sh.setParent(this);
  return sh;
}

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

@Override
protected final void commit() throws IOException {
  XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
  String docName = getRootElementName();
  if(docName != null) {
    xmlOptions.setSaveSyntheticDocumentElement(
        new QName("http://schemas.openxmlformats.org/presentationml/2006/main", docName));
  }
  PackagePart part = getPackagePart();
  OutputStream out = part.getOutputStream();
  getXmlObject().save(out, xmlOptions);
  out.close();
}

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

@Override
public XSLFPictureShape createPicture(PictureData pictureData){
  if (!(pictureData instanceof XSLFPictureData)) {
    throw new IllegalArgumentException("pictureData needs to be of type XSLFPictureData");
  }
  RelationPart rp = addRelation(null, XSLFRelation.IMAGES, (XSLFPictureData)pictureData);
  XSLFPictureShape sh = getDrawing().createPicture(rp.getRelationship().getId());
  new DrawPictureShape(sh).resize();
  getShapes().add(sh);
  sh.setParent(this);
  return sh;
}

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

/**
 * Removes all of the elements from this container (optional operation).
 * The container will be empty after this call returns.
 */
@Override
public void clear() {
  List<XSLFShape> shapes = new ArrayList<>(getShapes());
  for(XSLFShape shape : shapes){
    removeShape(shape);
  }
}

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

/**
 * Helper method for initializing drawing and shapes in one go.
 * If they are initialized separately, there's a risk that shapes
 * get added twice, e.g. a shape is added to the drawing, then
 * buildShapes is called and at last the shape is added to shape list
 */
private void initDrawingAndShapes() {
  CTGroupShape cgs = getSpTree();
  if(_drawing == null) {
    _drawing = new XSLFDrawing(this, cgs);
  }
  if (_shapes == null) {
    _shapes = buildShapes(cgs, this);
  }
}

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

private void wipeAndReinitialize(XSLFSheet src, int offset) {
  // explicitly initialize drawing and shapes from _spTree
  _shapes = null;
  _drawing = null;
  initDrawingAndShapes();
  // placeholders will be implicitly initialized when requested
  _placeholders = null;
  // update each shape according to its own additional copy rules
  List<XSLFShape> tgtShapes = getShapes();
  List<XSLFShape> srcShapes = src.getShapes();
  for(int i = 0; i < srcShapes.size(); i++){
    XSLFShape s1 = srcShapes.get(i);
    XSLFShape s2 = tgtShapes.get(offset + i);
    s2.copy(s1);
  }
}

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

/**
 * Import a picture data from another document.
 *
 * @param blipId        ID of the package relationship to retrieve.
 * @param parent        parent document containing the data to import
 * @return ID of the created relationship
 */
String importBlip(String blipId, POIXMLDocumentPart parent) {
  final XSLFPictureData parData = parent.getRelationPartById(blipId).getDocumentPart();
  final XSLFPictureData pictureData;
  if (getPackagePart().getPackage() == parent.getPackagePart().getPackage()) {
    // handle ref counter correct, if the parent document is the same as this
    pictureData = parData;
  } else {
    XMLSlideShow ppt = getSlideShow();
    pictureData = ppt.addPicture(parData.getData(), parData.getType());
  }
  RelationPart rp = addRelation(blipId, XSLFRelation.IMAGES, pictureData);
  return rp.getRelationship().getId();
}

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

@Override
public String getAddress() {
  final String id = _link.getId();
  if (id == null || id.isEmpty()) {
    return _link.getAction();
  }
  final PackageRelationship rel = _sheet.getPackagePart().getRelationship(id);
  if (rel == null) {
    return null;
  }
  final URI targetURI = rel.getTargetURI();
  return (targetURI == null) ? null : targetURI.toASCIIString();
}

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

public boolean removeShape(XSLFShape xShape) {
  XmlObject obj = xShape.getXmlObject();
  CTGroupShape spTree = getSpTree();
  deregisterShapeId(xShape.getShapeId());
  if(obj instanceof CTShape){
    spTree.getSpList().remove(obj);
  } else if (obj instanceof CTPicture) {
    XSLFPictureShape ps = (XSLFPictureShape)xShape;
    removePictureRelation(ps);
    spTree.getPicList().remove(obj);
  } else {
    throw new IllegalArgumentException("Unsupported shape: " + xShape);
  return getShapes().remove(xShape);

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

/**
 * Returns an iterator over the shapes in this sheet
 *
 * @return an iterator over the shapes in this sheet
 */
@Override
public Iterator<XSLFShape> iterator(){
  return getShapes().iterator();
}

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

for (XSLFSheet m = masterSheet; m != null; m = (XSLFSheet)m.getMasterSheet()) {
  masterSheet = m;
  XmlObject xo = masterSheet.getXmlObject();
  XmlCursor cur = xo.newCursor();
  try {

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

public XSLFPictureShape createPicture(int pictureIndex){
  List<PackagePart>  pics = getPackagePart().getPackage()
      .getPartsByName(Pattern.compile("/ppt/media/image" + (pictureIndex + 1) + ".*?"));
  if(pics.size() == 0) {
    throw new IllegalArgumentException("Picture with index=" + pictureIndex + " was not found");
  }
  PackagePart pic = pics.get(0);
  PackageRelationship rel = getPackagePart().addRelationship(
      pic.getPartName(), TargetMode.INTERNAL, XSLFRelation.IMAGES.getRelation());
  addRelation(rel.getId(), new XSLFPictureData(pic, rel));
  XSLFPictureShape sh = getDrawing().createPicture(rel.getId());
  sh.resize();
  getShapeList().add(sh);
  return sh;
}

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

/**
 * Append content to this sheet.
 *
 * @param src the source sheet
 * @return modified <code>this</code>.
 */
@SuppressWarnings("unused")
public XSLFSheet appendContent(XSLFSheet src){
  int numShapes = getShapes().size();
  CTGroupShape spTree = getSpTree();
  CTGroupShape srcTree = src.getSpTree();
  for(XmlObject ch : srcTree.selectPath("*")){
    if(ch instanceof CTShape){ // simple shape
      spTree.addNewSp().set(ch.copy());
    } else if (ch instanceof CTGroupShape){
      spTree.addNewGrpSp().set(ch.copy());
    } else if (ch instanceof CTConnector){
      spTree.addNewCxnSp().set(ch.copy());
    } else if (ch instanceof CTPicture){
      spTree.addNewPic().set(ch.copy());
    } else if (ch instanceof CTGraphicalObjectFrame){
      spTree.addNewGraphicFrame().set(ch.copy());
    }
  }
  wipeAndReinitialize(src, numShapes);
  return this;
}

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

public PaintStyle getFillPaint() {
  XSLFSheet sheet = getSheet();
  XSLFTheme theme = sheet.getTheme();
  final boolean hasPlaceholder = getPlaceholder() != null;
  XmlObject props = getCellProperties(false);
  XSLFFillProperties fp = XSLFPropertiesDelegate.getFillDelegate(props);
  if (fp != null) {
    PaintStyle paint = selectPaint(fp, null, sheet.getPackagePart(), theme, hasPlaceholder);
    if (paint != null) {
      return paint;
  XMLSlideShow slideShow = sheet.getSlideShow();
  CTTableStyleCellStyle tcStyle = tps.getTcStyle();
  if (tcStyle.isSetFill()) {

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

XSLFSimpleShape getPlaceholder(CTPlaceholder ph) {
  XSLFSimpleShape shape = null;
  if(ph.isSetIdx()) {
    shape = getPlaceholderById((int)ph.getIdx());
  }
  if (shape == null && ph.isSetType()) {
    shape = getPlaceholderByType(ph.getType().intValue());
  }
  return shape;
}

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

@Override
public void linkToSlide(Slide<XSLFShape,XSLFTextParagraph> slide) {
  if (_link.isSetId() && !_link.getId().isEmpty()) {
    _sheet.getPackagePart().removeRelationship(_link.getId());
  }
  RelationPart rp = _sheet.addRelation(null, XSLFRelation.SLIDE, (XSLFSheet) slide);
  _link.setId(rp.getRelationship().getId());
  _link.setAction("ppaction://hlinksldjump");
}

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

public XSLFAutoShape createAutoShape(){
  List<XSLFShape> shapes = getShapeList();
  XSLFAutoShape sh = getDrawing().createAutoShape();
  shapes.add(sh);
  return sh;
}

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

XSLFSheet masterSheet = getSheet().getMasterSheet();
CTPlaceholder ph = getCTPlaceholder();
    masterShape = masterSheet.getPlaceholder(ph);
    if (masterShape != null) {
      ok = visitor.fetch(masterShape);
    XSLFSheet master = masterSheet.getMasterSheet();
    if (master != null) {
      masterShape = master.getPlaceholderByType(textType);
      if (masterShape != null) {
        ok = visitor.fetch(masterShape);

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

@Override
public OutputStream updateObjectData(final Application application, final ObjectMetaData metaData) throws IOException {
  final ObjectMetaData md = (application != null) ? application.getMetaData() : metaData;
  if (md == null || md.getClassID() == null) {
    throw new IllegalArgumentException("either application and/or metaData needs to be set.");
  }
  final XSLFSheet sheet = getSheet();
  final RelationPart rp;
  if (_oleObject.isSetId()) {
    // object data was already set
    rp = sheet.getRelationPartById(_oleObject.getId());
  } else {
    // object data needs to be initialized
    try {
      final XSLFRelation descriptor = XSLFRelation.OLE_OBJECT;
      final OPCPackage pack = sheet.getPackagePart().getPackage();
      int nextIdx = pack.getUnusedPartIndex(descriptor.getDefaultFileName());
      rp = sheet.createRelationship(descriptor, XSLFFactory.getInstance(), nextIdx, false);
      _oleObject.setId(rp.getRelationship().getId());
    } catch (InvalidFormatException e) {
      throw new IOException("Unable to add new ole embedding", e);
    }
    // setting spid only works with a vml drawing object
    // oleObj.setSpid("_x0000_s"+(1025+objectIdx));
  }
  _oleObject.setProgId(md.getProgId());
  _oleObject.setName(md.getObjectName());
  return new XSLFObjectOutputStream(rp.getDocumentPart().getPackagePart(),md);
}

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

/**
 * Helper method for sheet and group shapes
 *
 * @param pictureShape the picture shapes whose relation is to be removed,
 *                     only if there are no more relations on its sheet to that picture
 */
void removePictureRelation(XSLFPictureShape pictureShape) {
  int numberOfRelations = 0;
  String targetBlipId = pictureShape.getBlipId();
  for (XSLFShape shape : pictureShape.getSheet().getShapes()) {
    if (shape instanceof XSLFPictureShape) {
      XSLFPictureShape currentPictureShape = ((XSLFPictureShape) shape);
      String currentBlipId = currentPictureShape.getBlipId();
      if (currentBlipId != null && currentBlipId.equals(targetBlipId)) {
        numberOfRelations++;
      }
    }
  }
  if (numberOfRelations <= 1) {
    removeRelation(pictureShape.getBlipId());
  }
}

相关文章