Class XSSFVMLDrawing

java.lang.Object
org.apache.poi.ooxml.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
  • Field Details

    • QNAME_VMLDRAWING

      public static final QName QNAME_VMLDRAWING
      to actually process the namespace-less vmldrawing, we've introduced a proxy namespace. this namespace is active in-memory, but will be removed on saving to the file
  • Method Details

    • getDocument

      public org.apache.poi.schemas.vmldrawing.XmlDocument getDocument()
    • newCommentShape

      @Internal public com.microsoft.schemas.vml.CTShape newCommentShape()
      This method is for internal POI use only.
    • findCommentShape

      public 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