Class XDDFChart

java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
org.apache.poi.xddf.usermodel.chart.XDDFChart
All Implemented Interfaces:
TextContainer
Direct Known Subclasses:
XSLFChart, XSSFChart, XWPFChart

@Beta public abstract class XDDFChart extends POIXMLDocumentPart implements TextContainer
  • Field Details

    • axes

      protected List<XDDFChartAxis> axes
    • chartSpace

      protected final org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace chartSpace
      Root element of the Chart part
    • chart

      protected final org.openxmlformats.schemas.drawingml.x2006.chart.CTChart chart
      Chart element in the chart space
  • Constructor Details

    • XDDFChart

      protected XDDFChart()
      Construct a chart.
    • XDDFChart

      protected XDDFChart(PackagePart part) throws IOException, org.apache.xmlbeans.XmlException
      Construct a DrawingML 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:
      IOException
      org.apache.xmlbeans.XmlException
      Since:
      POI 3.14-Beta1
  • Method Details

    • 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
    • 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
    • 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(Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties,Boolean> isSet, Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties,R> getter)
      Specified by:
      findDefinedParagraphProperty in interface TextContainer
    • findDefinedRunProperty

      public <R> Optional<R> findDefinedRunProperty(Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties,Boolean> isSet, Function<org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties,R> getter)
      Specified by:
      findDefinedRunProperty in interface TextContainer
    • getOrAddShapeProperties

      public XDDFShapeProperties getOrAddShapeProperties()
    • deleteShapeProperties

      public void deleteShapeProperties()
    • getOrAddLegend

      public XDDFChartLegend getOrAddLegend()
    • deleteLegend

      public void deleteLegend()
    • getOrAddManualLayout

      public XDDFManualLayout getOrAddManualLayout()
    • plot

      public void plot(XDDFChartData data)
    • getChartSeries

      public List<XDDFChartData> getChartSeries()
    • createValueAxis

      public XDDFValueAxis createValueAxis(AxisPosition pos)
    • createCategoryAxis

      public XDDFCategoryAxis createCategoryAxis(AxisPosition pos)
    • createDateAxis

      public XDDFDateAxis createDateAxis(AxisPosition pos)
    • createData

      public XDDFChartData createData(ChartTypes type, XDDFChartAxis category, XDDFValueAxis values)
    • 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 axis
      minimum - minimum value; Double.NaN - automatic; null - no change
      maximum - maximum value; Double.NaN - automatic; null - no change
      majorUnit - major unit value; Double.NaN - automatic; null - no change
      minorUnit - 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 object
      chartFactory - ChartFactory object
      chartIndex - 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:
      IOException
      InvalidFormatException
      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 excel
      categoryData - category values
      valuesData - 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 IOException
      save chart xml
      Overrides:
      commit in class POIXMLDocumentPart
      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 sheet
      column - column index
      Returns:
      return cell reference
      Since:
      POI 4.0.0
    • formatRange

      public String formatRange(CellRangeAddress range)
      Parameters:
      range -
      Returns:
      Since:
      POI 4.0.0
    • getWorkbook

      public XSSFWorkbook getWorkbook() throws IOException, InvalidFormatException
      Returns:
      returns the workbook object of embedded excel file
      Throws:
      IOException
      InvalidFormatException
      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 use for relation part
      Parameters:
      chartIndex - chart index which can be use for relation part