gpt4 book ai didi

apache - 如何使用 Apache POI 从 Excel 电子表格获取图表信息?

转载 作者:行者123 更新时间:2023-12-02 09:17:46 26 4
gpt4 key购买 nike

是否可以使用 Apache POI 从 Office 2007 (xlsx/OpenXML) 电子表格中提取图表信息?我已经设法阅读电子表格,甚至获得引用图表的部分,但不确定如何从该部分检索任何信息,例如图表类型、图表数据等

XSSFWorkbook xwb = new XSSFWorkbook("charts_lines.xlsx");

XSSFSheet sheet = xwb.getSheetAt(0);

我还可以迭代包部分来检索图表部分,但我不知道如何继续检索有关图表的任何信息?

请注意,我对使用 POI 创建图表不感兴趣,只需阅读尽可能多的图表信息...我也不会保存 xlsx。我只是想提取线条颜色、标签、数据、图表类型(饼图、折线图、条形图等)

最佳答案

目前没有高级别的表示,因此您需要深入到 xmlbeans 级别并使用低级 CT* 对象。

对于图表表,XSSFChartSheet 将为您提供一个 CTChartsheet 对象,其中包含一些信息。

对于 XSSFChartXSSFChartSheet(常规工作表和图表工作表),您需要通过绘图来获取图表。每张带有图表的工作表都应该有一个绘图,并且图表从绘图链接,而不是工作表本身。

从 r1090442(POI 3.8 或更高版本)开始,XSSFDrawing 上有一个方法可以为您提供所有 XSSFChart 对象(它们是/charts/chart#.xml 部分的包装器)。如果您使用的是 POI 的非常旧的版本,请使用 CTDrawing 获取图表的详细信息,获取对应的/charts/chart#.xml 部分,然后让 xmlbeans 为其提供 CT 对象。无论哪种方式,您都可以获取标题、类型、数据范围等。

不过这有点繁琐,所以如果您在使用 CTChart 对象方面得到了很好的解决方案,请考虑向 POI 发送补丁!

关于apache - 如何使用 Apache POI 从 Excel 电子表格获取图表信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5599304/

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