Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.xssf.usermodel
Class XSSFVMLDrawing

    java.lang.Object
      org.apache.poi.POIXMLDocumentPart
          org.apache.poi.xssf.usermodel.XSSFVMLDrawing

    public final class XSSFVMLDrawing

extends POIXMLDocumentPart

Represents a SpreadsheetML VML drawing.

In Excel 2007 VML drawings are used to describe properties of cell comments, although the spec says that VML is deprecated:

The VML format is a legacy format originally introduced with Office 2000 and is included and fully defined in this Standard for backwards compatibility reasons. The DrawingML format is a newer and richer format created with the goal of eventually replacing any uses of VML in the Office Open XML formats. VML should be considered a deprecated format included in Office Open XML for legacy reasons only and new applications that need a file format for drawings are strongly encouraged to use preferentially DrawingML

Warning - Excel is known to put invalid XML into these files! For example, >br< without being closed or escaped crops up.

See 6.4 VML - SpreadsheetML Drawing in Office Open XML Part 4 - Markup Language Reference.pdf

Author:
  Yegor Kozlov

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.poi.POIXMLDocumentPart
`POIXMLDocumentPart.RelationPart`

Constructor Summary
`protected` | `XSSFVMLDrawing()` Create a new SpreadsheetML drawing
`protected` | `XSSFVMLDrawing(PackagePart part)` Construct a SpreadsheetML drawing from a package part

Method Summary
`protected void` | `commit()` Save the content in the underlying package part.
`protected com.microsoft.schemas.vml.CTShape` | `findCommentShape(int row, int col)` Find a shape with ClientData of type "NOTE" and the specified row and column
`protected java.util.List<org.apache.xmlbeans.XmlObject>` | `getItems()`
`protected com.microsoft.schemas.vml.CTShape` | `newCommentShape()`
`protected void` | `read(java.io.InputStream is)`
`protected boolean` | `removeCommentShape(int row, int col)`
`protected void` | `write(java.io.OutputStream out)`

Methods inherited from class org.apache.poi.POIXMLDocumentPart
`_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationParts, getRelations, getTargetPart, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### XSSFVMLDrawing

    protected XSSFVMLDrawing()

  Create a new SpreadsheetML drawing

  See Also:
    `XSSFSheet.createDrawingPatriarch()`

### XSSFVMLDrawing

    protected XSSFVMLDrawing(PackagePart part)
                      throws java.io.IOException,
                             org.apache.xmlbeans.XmlException

  Construct a SpreadsheetML drawing from a package part

  Parameters:
    `part` - the package part holding the drawing data, the content type must be `application/vnd.openxmlformats-officedocument.drawing+xml`
  Throws:
    `java.io.IOException`
    `org.apache.xmlbeans.XmlException`
  Since:
    POI 3.14-Beta1

Method Detail

### read

    protected void read(java.io.InputStream is)
                 throws java.io.IOException,
                        org.apache.xmlbeans.XmlException

  Throws:
    `java.io.IOException`
    `org.apache.xmlbeans.XmlException`

### getItems

    protected java.util.List<org.apache.xmlbeans.XmlObject> getItems()

### write

    protected void write(java.io.OutputStream out)
                  throws java.io.IOException

  Throws:
    `java.io.IOException`

### commit

    protected void commit()
                   throws java.io.IOException

  Description copied from class: `POIXMLDocumentPart`
  Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified. Sub-classes should override and add logic to marshal the "model" into Ooxml4J. For example, the code saving a generic XML entry may look as follows:

       protected void commit() throws IOException {
         PackagePart part = getPackagePart();
         OutputStream out = part.getOutputStream();
         XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
         bean.save(out, DEFAULT_XML_OPTIONS);
         out.close();
       }

  Overrides:
    `commit` in class `POIXMLDocumentPart`
  Throws:
    `java.io.IOException` - a subclass may throw an IOException if the changes can't be committed

### newCommentShape

    protected com.microsoft.schemas.vml.CTShape newCommentShape()

### findCommentShape

    protected com.microsoft.schemas.vml.CTShape findCommentShape(int row,
                                                                 int col)

  Find a shape with ClientData of type "NOTE" and the specified row and column

  Returns:
    the comment shape or `null`

### removeCommentShape

    protected boolean removeCommentShape(int row,
                                         int col)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.