poi cloneSheet似乎没有对Charts进行深层复制

时间:2019-01-19 00:15:49

标签: java excel apache-poi

我在poi中有一个包含11个图表的工作表。我要克隆,更新基础数据并重做图表。我的代码如下。当我执行代码时,即使我仅更改克隆页面中的数据源,克隆页面和原始页面也会显示相同的图表。 这使我怀疑两个页面上的图表是同一对象,而克隆没有进行深层复制。 我发现POI中没有克隆图表的方法-有人在这样做吗?

CellRangeAddress region = new CellRangeAddress(1, 1, FIRST_COLUMN, LAST_COLUMN);
 XDDFCategoryDataSource categoriesData = XDDFDataSourcesFactory.fromStringCellRange(sheet, region);

    List<XDDFChartData> chartSeries = chart.getChartSeries();
    for (XDDFChartData chartSery : chartSeries) {
        List<XDDFChartData.Series> series = chartSery.getSeries();
        for (XDDFChartData.Series series1 : series) {
              int row = ChartToLine.get(name) - 1;
                XDDFNumericalDataSource<Double> valuesData2 = XDDFDataSourcesFactory.fromNumericCellRange(sheet, new CellRangeAddress(row, row, FIRST_COLUMN, LAST_COLUMN));
                series1.replaceData(categoriesData, valuesData2);
         }
        chart.plot(chartSery);
     }

0 个答案:

没有答案