Java操作Word图表

一、POM

        <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.0</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.0</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>4.1.0</version></dependency>

二、Word模板

在这里插入图片描述

三、工具类


import com.google.common.base.Strings;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.xddf.usermodel.chart.XDDFChartData;
import org.apache.poi.xddf.usermodel.chart.XDDFDataSource;
import org.apache.poi.xddf.usermodel.chart.XDDFDataSourcesFactory;
import org.apache.poi.xddf.usermodel.chart.XDDFNumericalDataSource;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xwpf.usermodel.XWPFChart;/*** @author : LCheng* @date : 2020-12-10 10:03* description : poi工具*/
public class PoiUtil {/*** 根据word模板导出 针对图表(柱状图,折线图,饼图等)的处理** @param docChart    图表对象* @param title       图表标题* @param seriesNames 系列名称数组* @return {@link XWPFChart}* @author LCheng* @date 2020/12/10 11:08*/public static XWPFChart wordExportChar(XWPFChart docChart, String title, String[] seriesNames, XSSFSheet sheet) {//获取图表数据对象XDDFChartData chartData = docChart.getChartSeries().get(0);//word图表均对应一个内置的excel,用于保存图表对应的数据//excel中 第一列第二行开始的数据为分类信息//CellRangeAddress(1, categories.size(), 0, 0) 四个参数依次为 起始行 截止行 起始列 截止列。//根据分类信息的范围创建分类信息的数据源XDDFDataSource catDataSource = XDDFDataSourcesFactory.fromStringCellRange(sheet, new CellRangeAddress(1,4,0,0));//更新数据for (int i = 0; i < seriesNames.length; i++) {//excel中各系列对应的数据的范围//根据数据的范围创建值的数据源XDDFNumericalDataSource<Double> valDataSource = XDDFDataSourcesFactory.fromNumericCellRange(sheet,  new CellRangeAddress(1,4,1,1));//获取图表系列的数据对象XDDFChartData.Series series = chartData.getSeries().get(i);//替换系列数据对象中的分类和值series.replaceData(catDataSource, valDataSource);//修改系列数据对象中的标题CellReference cellReference = docChart.setSheetTitle(seriesNames[i], 1);series.setTitle(seriesNames[i], cellReference);}//更新图表数据对象docChart.plot(chartData);//图表整体的标题 传空值则不替换标题if (!Strings.isNullOrEmpty(title)) {docChart.setTitleText(title);docChart.setTitleOverlay(false);}return docChart;}
}

四、测试类

public class TestWord3 {public static void main(String[] args) throws Exception {//获取word模板InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("111.docx");assert is != null;XWPFDocument doc = new XWPFDocument(is);//获取word中所有图表对象List<XWPFChart> charts = doc.getCharts();XWPFChart chart = charts.get(0);XSSFWorkbook workbook = chart.getWorkbook();XSSFSheet sheet = workbook.getSheetAt(0);//        //获取第一个单系列柱状图XWPFChart singleBarChar = charts.get(0);
        //系列信息String[] singleBarSeriesNames = {"运动情况"};
        //分类信息refreshExcel(sheet);PoiUtil.wordExportChar(singleBarChar, "运动情况", singleBarSeriesNames,sheet );try (FileOutputStream fos = new FileOutputStream("D:\\test8.docx")) {doc.write(fos);}is.close();doc.close();}public static void refreshExcel(XSSFSheet sheet) {sheet.getRow(1).getCell(0).setCellValue("走路");sheet.getRow(2).getCell(0).setCellValue("跑步");sheet.getRow(3).getCell(0).setCellValue("游泳");sheet.getRow(4).getCell(0).setCellValue("跳高");sheet.getRow(1).getCell(1).setCellValue(100);sheet.getRow(2).getCell(1).setCellValue(150);sheet.getRow(3).getCell(1).setCellValue(50);sheet.getRow(4).getCell(1).setCellValue(200);}
}

五、运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143379.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

WORD图标显示为白色解决办法

&#xff08;操作过程幸得朋友相助&#xff0c;但我还是决定用写博客的方式把操作成功的过程写下来&#xff0c;以免以后再出现相关问题可以翻看自己的博客知快速获取解决办法&#xff0c;也能帮助到一些遇到类似状况的朋友。鄙人电脑小白&#xff0c;初入江湖&#xff0c;涉世…

计算机图标显示的是word,word图标不显示怎么办 设置显示word图标的方法

word是我们常用的办公软件&#xff0c;有时在使用时&#xff0c;图标会莫名其妙不显示&#xff0c;那么word图标不显示怎么办&#xff1f;下面小编带来设置显示word图标的方法&#xff0c;希望对大家有所帮助。 设置显示word图标的方法&#xff1a; 按键盘上的 Windows 徽标健 …

计算机word图标不显示,word图标不显示怎么办 设置图标显示的具体方法

word是我们常用的办公软件&#xff0c;有时在使用时&#xff0c;图标会莫名其妙不显示&#xff0c;那么word图标不显示怎么办&#xff1f;下面小编带来设置显示word图标的方法&#xff0c;希望对大家有所帮助。 设置显示word图标的方法&#xff1a; 按键盘上的Windows徽标健R键…

Word生成图表(柱状图、线形图等,并附带表格展示数值)

说明 Java poi实现生成图表并附带表格数据展示一、效果图与模板 1、模板 2、效果图 二、Word生成图标与报表工具类 1.工具类 代码如下&#xff1a; package com.ml.module.file.util.wordchart;import com.google.common.base.Strings; import com.google.common.collec…

word中实现图表的自动编号功能

工作中&#xff0c;经常需要对图表进行编辑和编号&#xff0c;有的时候会涉及图表的顺序调整、增加或删除&#xff0c;刚刚调整好的图表的编号就会被打乱&#xff0c;有的时候还会漏调&#xff0c;从而导致即使耗费了大量的时间&#xff0c;图表的序号依然会出现问题&#xff0…

使用word代码域自动为图表 标号

当写一个比较几万字文档时&#xff0c;文章中可能会有很多 图表&#xff0c;而且下文引用上文的图表&#xff0c;手动敲的比较麻烦。 word的域是一个比较复杂的一个功能&#xff0c;今天通过word的代码域&#xff0c;提供两种方法来解决 自动为图生成图注&#xff0c;并引用&am…

Word图标显示异常空白解决方案

问题描述 最近使用电脑时突然发现桌面的word文档图标变成了空白&#xff0c;之前也遇到过这个问题&#xff0c;但一时想不起来之前是怎么解决的&#xff08;只记得是跟注册表相关&#xff09;&#xff0c;遂上网查找了一番&#xff0c;经过一两个小时折腾后终于解决了问题&…

用手机打开word图表位置很乱_9个工作中经常用到的Word技巧,能大大提升你的工作效率...

不管是职场小白还是职场大神&#xff0c;Word基本是我们都需要用到办公软件&#xff0c;所以今天跟大家分享9个超级实用的word技巧&#xff0c;学会了能让你的工作效率快到起飞&#xff0c;保姆级教程&#xff0c;一起来看看吧&#xff01; 1、不滚动鼠标快速翻到100页 文档第1…

电脑系统安装Word图标变成白色怎么恢复?

Win11 Word图标变成白色怎么恢复&#xff1f;有一些朋友发现自己电脑上的doc格式的word文档图标是白色的&#xff0c;这是怎么回事呢&#xff1f;出现这种情况应该如何解决&#xff1f;大家肯定要先确保电脑上有安装Office软件&#xff0c;今天给朋友们讲讲具体的解决方法&…

电脑桌面图标全部变成Word图标?

最近有用户发现自己的电脑桌面图标全部变成了Word文档图标&#xff0c;这是什么情况&#xff1f;到底是哪里出现了问题&#xff1f;针对这一问题&#xff0c;下面就由小编给大家分享桌面图标全部变成Word图标的解决办法。 操作步骤&#xff1a; 1、双击打开桌面的“计算机”。 …

POI Word 图表、柱状图、条形图、折线图、饼图

poi Excel 图表&#xff1a;https://blog.csdn.net/u014644574/article/details/105695787 1、pom.xml <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependenc…

我计算机桌面的word图标改变了咋办,桌面上word图标异常的处理方法

今天打开电脑&#xff0c;不知什么原因&#xff0c;所有word图标都变成了灰色&#xff0c;能正常打开&#xff0c;但看起来非常不舒服&#xff0c;怎样让他恢复原来的样子呢&#xff0c;学习啦小编采取了以下几个操作步骤来恢复&#xff0c;有需要的朋友可以来看看哦。 解决Wor…

Word 图表按章节自动编号

在撰写文章&#xff0c;我们通常会遇到需要这样的问题 如何自动对各个章节的标题进行自动编号&#xff1f; 如何按照章节对图表进行编号&#xff1f; 这一问题我也遇到了很多次&#xff0c;后来在网上找了一些资料&#xff0c;发现可以使用Word中自带的多级列表进行初步解决…

java poi word 图表_Java操作Poi--word图表中颜色的设置

在做java 动态增删图表中&#xff0c;如果将原来的标签数据删除了&#xff0c;在新增标签数据&#xff0c;发现颜色没设置&#xff0c;然后找不到对应的方法。 将word模板另外存word.xml格式&#xff0c;你会发现word模板其实是一大堆标签&#xff0c;你操作的是标签。然后打开…

如何在毕业论文Word中插入图表目录

前言&#xff1a;近来项目结题需要撰写结题报告&#xff0c;在Word中需要添加图表目录&#xff08;即按住Ctrl并单击可直接跳转到图表相应位置进行访问&#xff09;&#xff0c;回想起来自己本科毕设论文当中并没有添加图目录&#xff0c;显得稍逊一番&#xff0c;今进行简单教…

Word图表的中英题注及引用

大部分中文期刊都要求对使用到的图片和表格插入中英对照题注。以下是在word文档中的具体操作方法。 1、选中表格 2、“引用”–>“插入题注” 3、“新建标签”–>输入标签名称 4、“确定” 5、此时生成了英文题注 6、还有一个中文的题注&#xff0c;重复步骤2-4&…

Word 2010创建图表的详细操作流程

Word 2010中内置多种图表模板供用户选择使用&#xff0c;不仅如此&#xff0c;用户还可以根据自身需求创建自定义的图表模板&#xff0c;从而提高工作效率。 Word 2010创建图表的详细操作流程如下&#xff1a; 第1步&#xff0c;打开Word2010文档窗口&#xff0c;切换到“插入…

MongoDB数据查询

1、查询某个集合的所有&#xff1a; db.集合名称.find(); 或者 db.集合名称.find({}); MongoDB的集合名称相当于SQL的表名 如同SQL语句&#xff1a; SELECT * FROM TABLENAME 2、根据条件查询&#xff1a; db.集合名称.find({"column":"value1"})…

MongoDB的查询语法

1.查询 2.排序查询 sort() 方法对数据进行排序&#xff0c;sort() 方法可以通过参数指定排序的字段&#xff0c;并使用 1 和 -1 来指定排序的方式&#xff0c;其中 1 为升序排列&#xff0c;而 -1 是用于降序排列 3.分页列表查询 skip(), limilt(), sort()三个放在一起执行的时…

MongoDB中的数据查询

MongoDB中的查询大致上分为以下五种&#xff1a; 一、操作符查询&#xff1a; MongoDB中的操作符查询&#xff0c;其与RDBMS Where中的语句比较是这样的&#xff1a; 例如&#xff1a; db.demo.find({"score" : {$gt : 85}}) 其意思是查询数据库中成绩大于85分…