Java使用POI生成饼状图导出到word文档(饼状图)
2021/12/25 20:37:38
本文主要是介绍Java使用POI生成饼状图导出到word文档(饼状图),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本篇文章主要介绍,如何使用Apache POI组件生成饼状图导出到word文档中,具体步骤看下文。
一、实现效果
Java使用POI技术生成饼状图导出到word文档中,最终生成的饼状图如下所示:
二、环境准备
- 编程语言:Java
- 第三方依赖:Apache POI
Apache POI依赖代码如下所示:
<dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>ooxml-schemas</artifactId> <version>1.4</version> </dependency> </dependencies>
三、具体代码
POI生成饼状图代码如下所示(代码中几乎每个语句都写有注释,方便阅读和理解):
package com.gitee.zhuyb.chart; import org.apache.poi.util.Units; import org.apache.poi.xddf.usermodel.chart.*; import org.apache.poi.xwpf.usermodel.XWPFChart; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.FileOutputStream; /** * @version 1.0.0 * @Description: poi生成饼图 * @Date: 2021/12/25 20:04 * @Copyright (C) ZhuYouBin */ public class PieChart { public static void main(String[] args) throws Exception { // 1、创建word文档对象 XWPFDocument document = new XWPFDocument(); // 2、创建chart图表对象,抛出异常 XWPFChart chart = document.createChart(15 * Units.EMU_PER_CENTIMETER, 10 * Units.EMU_PER_CENTIMETER); // 3、图表相关设置 chart.setTitleText("使用POI创建的饼图"); // 图表标题 chart.setTitleOverlay(false); // 图例是否覆盖标题 // 4、图例设置 XDDFChartLegend legend = chart.getOrAddLegend(); legend.setPosition(LegendPosition.TOP); // 图例位置:上下左右 // 5、X轴(分类轴)相关设置:饼图中的图例显示 String[] xAxisData = new String[] { "2021-01","2021-02","2021-03","2021-04","2021-05","2021-06", "2021-07","2021-08","2021-09","2021-10","2021-11","2021-12", }; XDDFCategoryDataSource xAxisSource = XDDFDataSourcesFactory.fromArray(xAxisData); // 设置分类数据 // 6、Y轴(值轴)相关设置:饼图中的圆形显示 Integer[] yAxisData = new Integer[]{ 10, 35, 21, 46, 79, 88, 39, 102, 71, 28, 99, 57 }; XDDFNumericalDataSource<Integer> yAxisSource = XDDFDataSourcesFactory.fromArray(yAxisData); // 设置值数据 // 7、创建饼图对象,饼状图不需要X,Y轴,只需要数据集即可 XDDFPieChartData pieChart = (XDDFPieChartData) chart.createData(ChartTypes.PIE, null, null); // 8、加载饼图数据集 XDDFPieChartData.Series pieSeries = (XDDFPieChartData.Series) pieChart.addSeries(xAxisSource, yAxisSource); pieSeries.setTitle("粉丝数", null); // 系列提示标题 // 9、绘制饼图 chart.plot(pieChart); // 10、输出到word文档 FileOutputStream fos = new FileOutputStream("H:\\poi\\pieChart.docx"); document.write(fos); // 导出word // 11、关闭流 fos.close(); document.close(); } }
以上,就是Java使用POI生成饼状图导出到word文档(饼状图)的步骤。
这篇关于Java使用POI生成饼状图导出到word文档(饼状图)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性