Author: abearez Date: Sun Jan 5 23:54:12 2020 New Revision: 1872363 URL: http://svn.apache.org/viewvc?rev=1872363&view=rev Log: Clear all chart's properties as if newly created
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Modified: poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1872363&r1=1872362&r2=1872363&view=diff ============================================================================== --- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java Sun Jan 5 23:54:12 2020 @@ -189,6 +189,21 @@ public abstract class XDDFChart extends } /** + * Clear all properties, as if a new instance had just been created. + * @since POI 4.1.2 + */ + public void clear() { + axes.clear(); + seriesCount = 0; + if (workbook != null) { + workbook.removeSheetAt(0); + workbook.createSheet(); + } + chart.set(CTChart.Factory.newInstance()); + chart.addNewPlotArea(); + } + + /** * @return true if only visible cells will be present on the chart, false * otherwise */ @@ -477,6 +492,78 @@ public abstract class XDDFChart extends return series; } + /** + * Clear all chart series, as if a new instance had just been created. + * @since POI 4.1.2 + */ + public void clearChartSeries() { + CTPlotArea plotArea = getCTPlotArea(); + + for (int i = plotArea.sizeOfAreaChartArray(); i > 0; i--) { + plotArea.removeAreaChart(i - 1); + } + + for (int i = plotArea.sizeOfArea3DChartArray(); i > 0; i--) { + plotArea.removeArea3DChart(i - 1); + } + + for (int i = plotArea.sizeOfBarChartArray(); i > 0; i--) { + plotArea.removeBarChart(i - 1); + } + + for (int i = plotArea.sizeOfBar3DChartArray(); i > 0; i--) { + plotArea.removeBar3DChart(i - 1); + } + + for (int i = plotArea.sizeOfBubbleChartArray(); i > 0; i--) { + plotArea.removeBubbleChart(i - 1); + } + + for (int i = plotArea.sizeOfDoughnutChartArray(); i > 0; i--) { + plotArea.removeDoughnutChart(i - 1); + } + + for (int i = plotArea.sizeOfLineChartArray(); i > 0; i--) { + plotArea.removeLineChart(i - 1); + } + + for (int i = plotArea.sizeOfLine3DChartArray(); i > 0; i--) { + plotArea.removeLine3DChart(i - 1); + } + + for (int i = plotArea.sizeOfOfPieChartArray(); i > 0; i--) { + plotArea.removeOfPieChart(i - 1); + } + + for (int i = plotArea.sizeOfPieChartArray(); i > 0; i--) { + plotArea.removePieChart(i - 1); + } + + for (int i = plotArea.sizeOfPie3DChartArray(); i > 0; i--) { + plotArea.removePie3DChart(i - 1); + } + + for (int i = plotArea.sizeOfRadarChartArray(); i > 0; i--) { + plotArea.removeRadarChart(i - 1); + } + + for (int i = plotArea.sizeOfScatterChartArray(); i > 0; i--) { + plotArea.removeScatterChart(i - 1); + } + + for (int i = plotArea.sizeOfStockChartArray(); i > 0; i--) { + plotArea.removeStockChart(i - 1); + } + + for (int i = plotArea.sizeOfSurfaceChartArray(); i > 0; i--) { + plotArea.removeSurfaceChart(i - 1); + } + + for (int i = plotArea.sizeOfSurface3DChartArray(); i > 0; i--) { + plotArea.removeSurface3DChart(i - 1); + } + } + private Map<Long, XDDFChartAxis> getCategoryAxes() { CTPlotArea plotArea = getCTPlotArea(); int sizeOfArray = plotArea.sizeOfCatAxArray(); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org