org.apache.poi.xssf.usermodel
Class XSSFChart

java.lang.Object
  extended by org.apache.poi.POIXMLDocumentPart
      extended by org.apache.poi.xssf.usermodel.XSSFChart
All Implemented Interfaces:
Chart, ChartAxisFactory, ManuallyPositionable

public final class XSSFChart
extends POIXMLDocumentPart
implements Chart, ChartAxisFactory

Represents a SpreadsheetML Chart


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.poi.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
 
Constructor Summary
protected XSSFChart()
          Create a new SpreadsheetML chart
protected XSSFChart(PackagePart part)
          Construct a SpreadsheetML chart from a package part.
 
Method Summary
protected  void commit()
          Save the content in the underlying package part.
 XSSFCategoryAxis createCategoryAxis(AxisPosition pos)
           
 XSSFDateAxis createDateAxis(AxisPosition pos)
           
 XSSFValueAxis createValueAxis(AxisPosition pos)
           
 void deleteLegend()
          Delete current chart legend.
 java.util.List<? extends XSSFChartAxis> getAxis()
           
 XSSFChart getChartAxisFactory()
           
 XSSFChartDataFactory getChartDataFactory()
           
 org.openxmlformats.schemas.drawingml.x2006.chart.CTChart getCTChart()
          Return the underlying CTChart bean, within the Chart Space
 org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace getCTChartSpace()
          Return the underlying CTChartSpace bean, the root element of the SpreadsheetML Chart part.
 XSSFGraphicFrame getGraphicFrame()
          Returns the parent graphic frame.
 XSSFManualLayout getManualLayout()
          Returns manual layout for the chart element.
 XSSFChartLegend getOrCreateLegend()
           
 XSSFRichTextString getTitle()
          Deprecated. POI 3.16, use getTitleText() instead.
 java.lang.String getTitleFormula()
          Get the chart title formula expression if there is one
 XSSFRichTextString getTitleText()
          Returns the title static text, or null if none is set.
 boolean isPlotOnlyVisibleCells()
           
 void plot(ChartData data, ChartAxis... chartAxis)
          Plots specified data on the chart.
protected  void setGraphicFrame(XSSFGraphicFrame frame)
          Sets the parent graphic frame.
 void setPlotOnlyVisibleCells(boolean plotVisOnly)
           
 void setTitle(java.lang.String newTitle)
          Deprecated. POI 3.16, use setTitleText(String) instead.
 void setTitleFormula(java.lang.String formula)
          Set the formula expression to use for the chart title
 void setTitleText(java.lang.String newTitle)
          Sets the title text as a static string.
 
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

XSSFChart

protected XSSFChart()
Create a new SpreadsheetML chart


XSSFChart

protected XSSFChart(PackagePart part)
             throws java.io.IOException,
                    org.apache.xmlbeans.XmlException
Construct a SpreadsheetML chart from a package part.

Parameters:
part - the package part holding the chart data, the content type must be application/vnd.openxmlformats-officedocument.drawingml.chart+xml
Throws:
java.io.IOException
org.apache.xmlbeans.XmlException
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 SpreadsheetML 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

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

getGraphicFrame

public XSSFGraphicFrame getGraphicFrame()
Returns the parent graphic frame.

Returns:
the graphic frame this chart belongs to

setGraphicFrame

protected void setGraphicFrame(XSSFGraphicFrame frame)
Sets the parent graphic frame.


getChartDataFactory

public XSSFChartDataFactory getChartDataFactory()
Specified by:
getChartDataFactory in interface Chart
Returns:
an appropriate ChartDataFactory implementation

getChartAxisFactory

public XSSFChart getChartAxisFactory()
Specified by:
getChartAxisFactory in interface Chart
Returns:
an appropriate ChartAxisFactory implementation

plot

public void plot(ChartData data,
                 ChartAxis... chartAxis)
Description copied from interface: Chart
Plots specified data on the chart.

Specified by:
plot in interface Chart
Parameters:
data - a data to plot

createValueAxis

public XSSFValueAxis createValueAxis(AxisPosition pos)
Specified by:
createValueAxis in interface ChartAxisFactory
Returns:
new value axis at the end of the list at the specified chart position

createCategoryAxis

public XSSFCategoryAxis createCategoryAxis(AxisPosition pos)
Specified by:
createCategoryAxis in interface ChartAxisFactory
Returns:
new category axis at the end of the list at the specified chart position

createDateAxis

public XSSFDateAxis createDateAxis(AxisPosition pos)
Specified by:
createDateAxis in interface ChartAxisFactory
Returns:
new date category axis at the end of the list at the specified chart position

getAxis

public java.util.List<? extends XSSFChartAxis> getAxis()
Specified by:
getAxis in interface Chart
Returns:
list of all chart axis

getManualLayout

public XSSFManualLayout getManualLayout()
Description copied from interface: ManuallyPositionable
Returns manual layout for the chart element.

Specified by:
getManualLayout in interface ManuallyPositionable
Returns:
manual layout for the chart element.

isPlotOnlyVisibleCells

public boolean isPlotOnlyVisibleCells()
Returns:
true if only visible cells will be present on the chart, false otherwise

setPlotOnlyVisibleCells

public void setPlotOnlyVisibleCells(boolean plotVisOnly)
Parameters:
plotVisOnly - a flag specifying if only visible cells should be present on the chart

getTitle

@Deprecated
@Removal(version="4.0")
public XSSFRichTextString getTitle()
Deprecated. POI 3.16, use getTitleText() instead.

Returns the title static text, or null if none is set. Note that a title formula may be set instead.

Returns:
static title text, if set

getTitleText

public XSSFRichTextString getTitleText()
Returns the title static text, or null if none is set. Note that a title formula may be set instead. Empty text result is for backward compatibility, and could mean the title text is empty or there is a formula instead. Check for a formula first, falling back on text for cleaner logic.

Returns:
static title text if set, null if there is no title, empty string if the title text is empty or the title uses a formula instead

setTitle

@Deprecated
@Removal(version="4.0")
public void setTitle(java.lang.String newTitle)
Deprecated. POI 3.16, use setTitleText(String) instead.

Sets the title text as a static string.

Parameters:
newTitle - to use

setTitleText

public void setTitleText(java.lang.String newTitle)
Sets the title text as a static string.

Parameters:
newTitle - to use

getTitleFormula

public java.lang.String getTitleFormula()
Get the chart title formula expression if there is one

Returns:
formula expression or null

setTitleFormula

public void setTitleFormula(java.lang.String formula)
Set the formula expression to use for the chart title

Parameters:
formula -

getOrCreateLegend

public XSSFChartLegend getOrCreateLegend()
Specified by:
getOrCreateLegend in interface Chart
Returns:
chart legend instance

deleteLegend

public void deleteLegend()
Description copied from interface: Chart
Delete current chart legend.

Specified by:
deleteLegend in interface Chart


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