gpt4 book ai didi

java - 使用 Apache POI 4.0 运行官方示例 LineChars 和 ScatterChart 时出现问题

转载 作者:行者123 更新时间:2023-11-30 10:11:45 25 4
gpt4 key购买 nike

official 有问题例子 LineChartScatterChart适用于 Apache POI 4.0。它们编译并运行没有错误,但是创建的 Excel 文件无法打开,说明存在不可读的内容。 Excel 2010 和 2016 提供了从工作簿恢复数据的选项,单击"is"后,这 dialog出现。可能是什么问题?

最佳答案

新的 XDDF 代码缺少 lineChartscatterChart 中的 axId 设置。

/xl/charts/chart1.xml 中看起来像这样:

<c:lineChart>
...
<c:axId val="0"/>
<c:axId val="1"/>
</c:lineChart>

折线图..

做添加:

...
XDDFChartData data = chart.createData(ChartTypes.LINE, bottomAxis, leftAxis);
data.addSeries(xs, ys1);
data.addSeries(xs, ys2);
chart.plot(data);

//setting the axis Ids to the LineChart
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(bottomAxis.getId());
chart.getCTChart().getPlotArea().getLineChartArray(0).addNewAxId().setVal(leftAxis.getId());


// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("ooxml-line-chart.xlsx")) {
wb.write(fileOut);
}
...

LineChart.java

...
XDDFChartData data = chart.createData(ChartTypes.SCATTER, bottomAxis, leftAxis);

data.addSeries(xs, ys1);
data.addSeries(xs, ys2);
chart.plot(data);

//setting the axis Ids to the ScatterChart
chart.getCTChart().getPlotArea().getScatterChartArray(0).addNewAxId().setVal(bottomAxis.getId());
chart.getCTChart().getPlotArea().getScatterChartArray(0).addNewAxId().setVal(leftAxis.getId());


// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("ooxml-scatter-chart.xlsx")) {
wb.write(fileOut);
}

...

ScatterChart.java

它会起作用。

关于java - 使用 Apache POI 4.0 运行官方示例 LineChars 和 ScatterChart 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52263619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com