我一直在尝试使用POI从excel 2007获取图表信息。
plotArea.getScatterChartList().size();
此方法一直返回0.
这是我的代码:
XSSFDrawing drawing = sheet.createDrawingPatriarch();
List<XSSFChart> chartsList = drawing.getCharts();
for (XSSFChart chart : chartsList){
CTChart ctChart = chart.getCTChart();
CTPlotArea plotArea = ctChart.getPlotArea();
int size = plotArea.getScatterChartList().size();
for (int j = 0; j<size; j++){
List<CTScatterSer> seriesList = plotArea.getScatterChartList().get(j).getSerList();
System.out.println("series size: " + seriesList.size());
for (int i = 0; i<seriesList.size(); i++){
CTScatterSer ser = seriesList.get(i);
XmlObject serieX = ser.getXVal();
XmlObject serieY = ser.getYVal();
System.out.println("serie x: " + serieX.xmlText() + " serie y: " + serieY.xmlText());
}
}
}
答案 0 :(得分:0)
有一个类似的问题,当我想得到我的plotArea的LineCharts列表时。
这对我有用: 不要使用
plotArea.getScatterChartList()
但是
plotArea.getScatterChartArray()
如果您这样做,您的代码将在
处执行例外List<CTScatterSer> seriesList = plotArea.getScatterChartList().get(j).getSerList();
这里使用相同的解决方案,使用get ... Array()而不是get ... List()
List<CTScatterSer> seriesList = plotArea.getScatterChartArray().get(j).getSerArray();
由于某些原因我不明白得到... List()什么都不返回,但是get ... Array()工作正常。