java 改变apache poi为excel工作表生成的图表的形状

uqdfh47h  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(149)

我有一个java文件生成一个包含大量数据的excel表。为了更好的用户体验,我们决定简单地从数据中生成一个折线图。
生成图表并不难,但要使其成为我们需要的精确形状却是个问题。目前,图表边框看起来像这样:

正如你所看到的,边界在拐角处弯曲。我希望它看起来像这样:

到目前为止,我还没有找到这样做的方法。文档对此不是很详细。

osh3o9ms

osh3o9ms1#

所以在你看来,圆角是过时的?我也是这个观点,但似乎Microsoft不是。因为如果在CTChartSpace中没有设置RoundedCorners,那么默认情况下它是true
但幸运的是,我们可以根据需要使用以下方法设置它:

private static void setRoundedCorners(XSSFChart chart, boolean setVal) {
    if (chart.getCTChartSpace().getRoundedCorners() == null) chart.getCTChartSpace().addNewRoundedCorners();
    chart.getCTChartSpace().getRoundedCorners().setVal(setVal);
}

使用当前的Apache POI版本(使用XDDF进行图表),这也可以是:

private static void setRoundedCorners(XDDFChart chart, boolean setVal) {
    if (chart.getCTChartSpace().getRoundedCorners() == null) chart.getCTChartSpace().addNewRoundedCorners();
    chart.getCTChartSpace().getRoundedCorners().setVal(setVal);
}

完整示例:
https://svn.apache.org/repos/asf/poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/获取任何图表示例,然后调用

setRoundedCorners(chart, false);

创建图表后。

相关问题