Package org.apache.poi.xssf.usermodel
Class XSSFDrawing
- java.lang.Object
-
- org.apache.poi.ooxml.POIXMLDocumentPart
-
- org.apache.poi.xssf.usermodel.XSSFDrawing
-
- All Implemented Interfaces:
java.lang.Iterable<XSSFShape>
,Drawing<XSSFShape>
,ShapeContainer<XSSFShape>
public final class XSSFDrawing extends POIXMLDocumentPart implements Drawing<XSSFShape>
Represents a SpreadsheetML drawing
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
-
-
Constructor Summary
Constructors Constructor Description XSSFDrawing(PackagePart part)
Construct a SpreadsheetML drawing from a package part
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XSSFClientAnchor
createAnchor(int dx1, int dy1, int dx2, int dy2, int col1, int row1, int col2, int row2)
Creates a new client anchor and sets the top-left and bottom-right coordinates of the anchor.XSSFComment
createCellComment(ClientAnchor anchor)
Creates a comment.XSSFChart
createChart(ClientAnchor anchor)
Creates a chart.XSSFChart
createChart(XSSFClientAnchor anchor)
Creates a chart.XSSFConnector
createConnector(XSSFClientAnchor anchor)
Creates a simple shape.XSSFShapeGroup
createGroup(XSSFClientAnchor anchor)
Creates a simple shape.XSSFObjectData
createObjectData(ClientAnchor anchor, int storageId, int pictureIndex)
Adds a new OLE Package ShapeXSSFPicture
createPicture(ClientAnchor anchor, int pictureIndex)
Creates a picture.XSSFPicture
createPicture(XSSFClientAnchor anchor, int pictureIndex)
Creates a picture.XSSFSimpleShape
createSimpleShape(XSSFClientAnchor anchor)
Creates a simple shape.XSSFTextBox
createTextbox(XSSFClientAnchor anchor)
Constructs a textbox under the drawing.java.util.List<XSSFChart>
getCharts()
Returns all charts in this drawing.CTDrawing
getCTDrawing()
Return the underlying CTDrawing bean, the root element of the SpreadsheetML Drawing part.java.util.List<XSSFShape>
getShapes()
java.util.List<XSSFShape>
getShapes(XSSFShapeGroup groupshape)
XSSFSheet
getSheet()
XSSFChart
importChart(XSSFChart srcChart)
Imports the chart from thesrcChart
into this drawing.java.util.Iterator<XSSFShape>
iterator()
-
Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, isCommited, setCommited, toString
-
-
-
-
Constructor Detail
-
XSSFDrawing
public XSSFDrawing(PackagePart part) throws java.io.IOException, XmlException
Construct a SpreadsheetML drawing from a package part- Parameters:
part
- the package part holding the drawing data, the content type must beapplication/vnd.openxmlformats-officedocument.drawing+xml
- Throws:
java.io.IOException
XmlException
- Since:
- POI 3.14-Beta1
-
-
Method Detail
-
getCTDrawing
@Internal public CTDrawing getCTDrawing()
Return the underlying CTDrawing bean, the root element of the SpreadsheetML Drawing part.- Returns:
- the underlying CTDrawing bean
-
createAnchor
public XSSFClientAnchor createAnchor(int dx1, int dy1, int dx2, int dy2, int col1, int row1, int col2, int row2)
Description copied from interface:Drawing
Creates a new client anchor and sets the top-left and bottom-right coordinates of the anchor.- Specified by:
createAnchor
in interfaceDrawing<XSSFShape>
- Parameters:
dx1
- the x coordinate in EMU within the first cell.dy1
- the y coordinate in EMU within the first cell.dx2
- the x coordinate in EMU within the second cell.dy2
- the y coordinate in EMU within the second cell.col1
- the column (0 based) of the first cell.row1
- the row (0 based) of the first cell.col2
- the column (0 based) of the second cell.row2
- the row (0 based) of the second cell.- Returns:
- the newly created client anchor
-
createTextbox
public XSSFTextBox createTextbox(XSSFClientAnchor anchor)
Constructs a textbox under the drawing.- Parameters:
anchor
- the client anchor describes how this group is attached to the sheet.- Returns:
- the newly created textbox.
-
createPicture
public XSSFPicture createPicture(XSSFClientAnchor anchor, int pictureIndex)
Creates a picture.- Parameters:
anchor
- the client anchor describes how this picture is attached to the sheet.pictureIndex
- the index of the picture in the workbook collection of pictures,XSSFWorkbook.getAllPictures()
.- Returns:
- the newly created picture shape.
-
createPicture
public XSSFPicture createPicture(ClientAnchor anchor, int pictureIndex)
Description copied from interface:Drawing
Creates a picture.- Specified by:
createPicture
in interfaceDrawing<XSSFShape>
- Parameters:
anchor
- the client anchor describes how this picture is attached to the sheet.pictureIndex
- the index of the picture in the workbook collection of pictures.- Returns:
- the newly created picture.
-
createChart
public XSSFChart createChart(XSSFClientAnchor anchor)
Creates a chart.- Parameters:
anchor
- the client anchor describes how this chart is attached to the sheet.- Returns:
- the newly created chart
- See Also:
createChart(ClientAnchor)
-
createChart
public XSSFChart createChart(ClientAnchor anchor)
Creates a chart.- Parameters:
anchor
- the client anchor describes how this chart is attached to the sheet.- Returns:
- the newly created chart
-
importChart
public XSSFChart importChart(XSSFChart srcChart) throws java.io.IOException, XmlException
Imports the chart from thesrcChart
into this drawing.- Parameters:
srcChart
- the source chart to be cloned into this drawing.- Returns:
- the newly created chart.
- Throws:
XmlException
java.io.IOException
- Since:
- 4.0.0
-
createSimpleShape
public XSSFSimpleShape createSimpleShape(XSSFClientAnchor anchor)
Creates a simple shape. This includes such shapes as lines, rectangles, and ovals.- Parameters:
anchor
- the client anchor describes how this group is attached to the sheet.- Returns:
- the newly created shape.
-
createConnector
public XSSFConnector createConnector(XSSFClientAnchor anchor)
Creates a simple shape. This includes such shapes as lines, rectangles, and ovals.- Parameters:
anchor
- the client anchor describes how this group is attached to the sheet.- Returns:
- the newly created shape.
-
createGroup
public XSSFShapeGroup createGroup(XSSFClientAnchor anchor)
Creates a simple shape. This includes such shapes as lines, rectangles, and ovals.- Parameters:
anchor
- the client anchor describes how this group is attached to the sheet.- Returns:
- the newly created shape.
-
createCellComment
public XSSFComment createCellComment(ClientAnchor anchor)
Creates a comment.- Specified by:
createCellComment
in interfaceDrawing<XSSFShape>
- Parameters:
anchor
- the client anchor describes how this comment is attached to the sheet.- Returns:
- the newly created comment.
-
createObjectData
public XSSFObjectData createObjectData(ClientAnchor anchor, int storageId, int pictureIndex)
Description copied from interface:Drawing
Adds a new OLE Package Shape- Specified by:
createObjectData
in interfaceDrawing<XSSFShape>
- Parameters:
anchor
- the client anchor describes how this picture is attached to the sheet.storageId
- the storageId returned byWorkbook.addOlePackage(byte[], String, String, String)
pictureIndex
- the index of the picture (used as preview image) in the workbook collection of pictures.- Returns:
- newly created shape
-
getCharts
public java.util.List<XSSFChart> getCharts()
Returns all charts in this drawing.
-
getShapes
public java.util.List<XSSFShape> getShapes()
- Returns:
- list of shapes in this drawing
-
getShapes
public java.util.List<XSSFShape> getShapes(XSSFShapeGroup groupshape)
- Returns:
- list of shapes in this shape group
-
iterator
public java.util.Iterator<XSSFShape> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<XSSFShape>
-
getSheet
public XSSFSheet getSheet()
- Returns:
- the sheet associated with the drawing
-
-