Class XDDFChart
- java.lang.Object
-
- org.apache.poi.ooxml.POIXMLDocumentPart
-
- org.apache.poi.xddf.usermodel.chart.XDDFChart
-
- All Implemented Interfaces:
TextContainer
@Beta public abstract class XDDFChart extends POIXMLDocumentPart implements TextContainer
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
-
-
Field Summary
Fields Modifier and Type Field Description protected List<XDDFChartAxis>axesprotected org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpacechartSpaceRoot element of the Chart partstatic intDEFAULT_HEIGHTdefault height of chart in emustatic intDEFAULT_WIDTHdefault width of chart in emustatic intDEFAULT_Xdefault x-coordinate of chart in emustatic intDEFAULT_Ydefault y-coordinate value of chart in emu
-
Constructor Summary
Constructors Modifier Constructor Description protectedXDDFChart()Construct a chart.protectedXDDFChart(PackagePart part)Construct a DrawingML chart from a package part.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclear()Clear all properties, as if a new instance had just been created.voidclearChartSeries()Clear all chart series, as if a new instance had just been created.protected voidcommit()save chart xmlXDDFCategoryAxiscreateCategoryAxis(AxisPosition pos)XDDFChartDatacreateData(ChartTypes type, XDDFChartAxis category, XDDFValueAxis values)this method will return specified chart data with category and series valuesXDDFDateAxiscreateDateAxis(AxisPosition pos)PackageRelationshipcreateRelationshipInChart(POIXMLRelation chartRelation, POIXMLFactory chartFactory, int chartIndex)method to create relationship with embedded part for example writing xlsx file stream into output streamXDDFSeriesAxiscreateSeriesAxis(AxisPosition pos)this method will return series axis with specified positionXDDFValueAxiscreateValueAxis(AxisPosition pos)voiddeleteLegend()voiddeleteShapeProperties()voiddisplayBlanksAs(DisplayBlanks as)protected voidfillSheet(XSSFSheet sheet, XDDFDataSource<?> categoryData, XDDFNumericalDataSource<?> valuesData)this method writes the data into sheet<R> Optional<R>findDefinedParagraphProperty(Predicate<org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties> isSet, Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties,R> getter)<R> Optional<R>findDefinedRunProperty(Predicate<org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties> isSet, Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties,R> getter)StringformatRange(CellRangeAddress range)List<? extends XDDFChartAxis>getAxes()protected abstract POIXMLFactorygetChartFactory()protected intgetChartIndex()protected abstract POIXMLRelationgetChartRelation()List<XDDFChartData>getChartSeries()protected abstract POIXMLRelationgetChartWorkbookRelation()org.openxmlformats.schemas.drawingml.x2006.chart.CTChartgetCTChart()Return the underlying CTChart bean, within the Chart Spaceorg.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpacegetCTChartSpace()Return the underlying CTChartSpace bean, the root element of the Chart part.protected org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotAreagetCTPlotArea()Return the underlying CTPlotArea bean, within the ChartXDDFTextBodygetFormattedTitle()Get the chart title body if there is one, i.e.XDDFChartLegendgetOrAddLegend()XDDFManualLayoutgetOrAddManualLayout()XDDFShapePropertiesgetOrAddShapeProperties()XDDFView3DgetOrAddView3D()Get or Add chart 3D view into chartXDDFTitlegetTitle()BooleangetTitleOverlay()XSSFWorkbookgetWorkbook()voidimportContent(XDDFChart other)import content from other chart to created chartprotected longincrementSeriesCount()booleanisPlotOnlyVisibleCells()voidplot(XDDFChartData data)voidremoveTitle()Remove the chart title.voidreplaceReferences(XSSFSheet newSheet)Replace references to the sheet name in the data supporting the chart.voidsaveWorkbook(XSSFWorkbook workbook)this method write the XSSFWorkbook object data into embedded excel filevoidsetAutoTitleDeleted(boolean deleted)voidsetBackWall(int thickness)voidsetChartIndex(int chartIndex)Set chart index which can be used for relation part.voidsetExternalId(String id)set the relation id of embedded excel relation id into external data relation tagvoidsetFloor(int thickness)voidsetPlotOnlyVisibleCells(boolean only)CellReferencesetSheetTitle(String title, int column)set sheet title in excel filevoidsetSideWall(int thickness)voidsetTitleOverlay(boolean overlay)voidsetTitleText(String text)Sets the title text as a static string.voidsetValueRange(int axisIndex, Double minimum, Double maximum, Double majorUnit, Double minorUnit)Set value range (basic Axis Options)voidsetWorkbook(XSSFWorkbook workbook)while reading chart from template file then we need to parse and store embedded excel file in chart object show that we can modify value according to use-
Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommitted, onDocumentCreate, onDocumentRead, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, removeRelation, setCommitted, toString
-
-
-
-
Field Detail
-
DEFAULT_WIDTH
public static final int DEFAULT_WIDTH
default width of chart in emu- See Also:
- Constant Field Values
-
DEFAULT_HEIGHT
public static final int DEFAULT_HEIGHT
default height of chart in emu- See Also:
- Constant Field Values
-
DEFAULT_X
public static final int DEFAULT_X
default x-coordinate of chart in emu- See Also:
- Constant Field Values
-
DEFAULT_Y
public static final int DEFAULT_Y
default y-coordinate value of chart in emu- See Also:
- Constant Field Values
-
axes
protected List<XDDFChartAxis> axes
-
chartSpace
protected final org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace chartSpace
Root element of the Chart part
-
-
Constructor Detail
-
XDDFChart
protected XDDFChart()
Construct a chart.
-
XDDFChart
protected XDDFChart(PackagePart part) throws IOException, XmlException
Construct a DrawingML chart from a package part.- Parameters:
part- the package part holding the chart data, the content type must beapplication/vnd.openxmlformats-officedocument.drawingml.chart+xml- Throws:
IOExceptionXmlException- Since:
- POI 3.14-Beta1
-
-
Method Detail
-
getCTChartSpace
@Internal public org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace getCTChartSpace()
Return the underlying CTChartSpace bean, the root element of the Chart part.- Returns:
- the underlying CTChartSpace bean
-
getCTChart
@Internal public org.openxmlformats.schemas.drawingml.x2006.chart.CTChart getCTChart()
Return the underlying CTChart bean, within the Chart Space- Returns:
- the underlying CTChart bean
-
getCTPlotArea
@Internal protected org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea getCTPlotArea()
Return the underlying CTPlotArea bean, within the Chart- Returns:
- the underlying CTPlotArea bean
-
clear
public void clear()
Clear all properties, as if a new instance had just been created.- Since:
- POI 4.1.2
-
isPlotOnlyVisibleCells
public boolean isPlotOnlyVisibleCells()
- Returns:
- true if only visible cells will be present on the chart, false otherwise
-
setPlotOnlyVisibleCells
public void setPlotOnlyVisibleCells(boolean only)
- Parameters:
only- a flag specifying if only visible cells should be present on the chart
-
setFloor
public void setFloor(int thickness)
-
setBackWall
public void setBackWall(int thickness)
-
setSideWall
public void setSideWall(int thickness)
-
setAutoTitleDeleted
public void setAutoTitleDeleted(boolean deleted)
-
displayBlanksAs
public void displayBlanksAs(DisplayBlanks as)
- Since:
- 4.0.1
-
getTitleOverlay
public Boolean getTitleOverlay()
- Since:
- 4.0.1
-
setTitleOverlay
public void setTitleOverlay(boolean overlay)
- Since:
- 4.0.1
-
setTitleText
public void setTitleText(String text)
Sets the title text as a static string.- Parameters:
text- to use as new title- Since:
- 4.0.1
-
getTitle
public XDDFTitle getTitle()
- Since:
- 4.0.1
-
removeTitle
public void removeTitle()
Remove the chart title.- Since:
- POI 5.0.0
-
getOrAddView3D
public XDDFView3D getOrAddView3D()
Get or Add chart 3D view into chart- Returns:
- this method will add 3D view
-
getFormattedTitle
@Beta public XDDFTextBody getFormattedTitle()
Get the chart title body if there is one, i.e. title is set and is not a formula.- Returns:
- text body or null, if title is a formula or no title is set.
-
findDefinedParagraphProperty
public <R> Optional<R> findDefinedParagraphProperty(Predicate<org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties> isSet, Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties,R> getter)
- Specified by:
findDefinedParagraphPropertyin interfaceTextContainer
-
findDefinedRunProperty
public <R> Optional<R> findDefinedRunProperty(Predicate<org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties> isSet, Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties,R> getter)
- Specified by:
findDefinedRunPropertyin interfaceTextContainer
-
getOrAddShapeProperties
public XDDFShapeProperties getOrAddShapeProperties()
-
deleteShapeProperties
public void deleteShapeProperties()
-
getOrAddLegend
public XDDFChartLegend getOrAddLegend()
-
deleteLegend
public void deleteLegend()
-
getOrAddManualLayout
public XDDFManualLayout getOrAddManualLayout()
-
incrementSeriesCount
protected long incrementSeriesCount()
-
plot
public void plot(XDDFChartData data)
-
getChartSeries
public List<XDDFChartData> getChartSeries()
-
clearChartSeries
public void clearChartSeries()
Clear all chart series, as if a new instance had just been created.- Since:
- POI 4.1.2
-
createValueAxis
public XDDFValueAxis createValueAxis(AxisPosition pos)
-
createSeriesAxis
public XDDFSeriesAxis createSeriesAxis(AxisPosition pos)
this method will return series axis with specified position- Parameters:
pos- axis position Left, Right, Top, Bottom- Returns:
- series axis with specified position
-
createCategoryAxis
public XDDFCategoryAxis createCategoryAxis(AxisPosition pos)
-
createDateAxis
public XDDFDateAxis createDateAxis(AxisPosition pos)
-
createData
public XDDFChartData createData(ChartTypes type, XDDFChartAxis category, XDDFValueAxis values)
this method will return specified chart data with category and series values- Parameters:
type- chart typecategory- category values of chartvalues- series values of chart- Returns:
- specified chart data.
-
getAxes
public List<? extends XDDFChartAxis> getAxes()
-
setValueRange
public void setValueRange(int axisIndex, Double minimum, Double maximum, Double majorUnit, Double minorUnit)Set value range (basic Axis Options)- Parameters:
axisIndex- 0 - primary axis, 1 - secondary axisminimum- minimum value; Double.NaN - automatic; null - no changemaximum- maximum value; Double.NaN - automatic; null - no changemajorUnit- major unit value; Double.NaN - automatic; null - no changeminorUnit- minor unit value; Double.NaN - automatic; null - no change
-
createRelationshipInChart
public PackageRelationship createRelationshipInChart(POIXMLRelation chartRelation, POIXMLFactory chartFactory, int chartIndex)
method to create relationship with embedded part for example writing xlsx file stream into output stream- Parameters:
chartRelation- relationship objectchartFactory- ChartFactory objectchartIndex- index used to suffix on file- Returns:
- return relation part which used to write relation in .rels file and get relation id
- Since:
- POI 4.0.0
-
saveWorkbook
public void saveWorkbook(XSSFWorkbook workbook) throws IOException, InvalidFormatException
this method write the XSSFWorkbook object data into embedded excel file- Parameters:
workbook- XSSFworkbook object- Throws:
IOExceptionInvalidFormatException- Since:
- POI 4.0.0
-
getChartRelation
protected abstract POIXMLRelation getChartRelation()
- Returns:
- the chart relation in the implementing subclass.
- Since:
- POI 4.0.0
-
getChartWorkbookRelation
protected abstract POIXMLRelation getChartWorkbookRelation()
- Returns:
- the chart workbook relation in the implementing subclass.
- Since:
- POI 4.0.0
-
getChartFactory
protected abstract POIXMLFactory getChartFactory()
- Returns:
- the chart factory in the implementing subclass.
- Since:
- POI 4.0.0
-
fillSheet
protected void fillSheet(XSSFSheet sheet, XDDFDataSource<?> categoryData, XDDFNumericalDataSource<?> valuesData)
this method writes the data into sheet- Parameters:
sheet- sheet of embedded excelcategoryData- category valuesvaluesData- data values- Since:
- POI 4.0.0
-
importContent
public void importContent(XDDFChart other)
import content from other chart to created chart- Parameters:
other- chart object- Since:
- POI 4.0.0
-
commit
protected void commit() throws IOExceptionsave chart xml- Overrides:
commitin classPOIXMLDocumentPart- Throws:
IOException- a subclass may throw an IOException if the changes can't be committed
-
setSheetTitle
public CellReference setSheetTitle(String title, int column)
set sheet title in excel file- Parameters:
title- title of sheetcolumn- column index- Returns:
- return cell reference
- Since:
- POI 4.0.0
-
formatRange
public String formatRange(CellRangeAddress range)
- Since:
- POI 4.0.0
-
getWorkbook
public XSSFWorkbook getWorkbook() throws IOException, InvalidFormatException
- Returns:
- returns the workbook object of embedded excel file
- Throws:
IOExceptionInvalidFormatException- Since:
- POI 4.0.0
-
setWorkbook
public void setWorkbook(XSSFWorkbook workbook)
while reading chart from template file then we need to parse and store embedded excel file in chart object show that we can modify value according to use- Parameters:
workbook- workbook object which we read from chart embedded part- Since:
- POI 4.0.0
-
setExternalId
public void setExternalId(String id)
set the relation id of embedded excel relation id into external data relation tag- Parameters:
id- relation id of embedded excel relation id into external data relation tag- Since:
- POI 4.0.0
-
getChartIndex
protected int getChartIndex()
- Returns:
- method return chart index
- Since:
- POI 4.0.0
-
setChartIndex
public void setChartIndex(int chartIndex)
Set chart index which can be used for relation part.- Parameters:
chartIndex- chart index which can be used for relation part.
-
replaceReferences
public void replaceReferences(XSSFSheet newSheet)
Replace references to the sheet name in the data supporting the chart.- Parameters:
newSheet- sheet to be used in the data references.- Since:
- POI 5.1.0
-
-