poi 操作 PPT,针对 PPTX--图表篇
poi 操作 PPT,针对 PPTX–图表篇
文章目录
- poi 操作 PPT,针对 PPTX--图表篇
- 1、读取 PPT 模板
- 2、替换标题
- 4、替换图表数据
接下来对 ppt 内的图表进行操作,替换图表的数据
原幻灯片样式
1、读取 PPT 模板
String filePath = "C:\\Users\\HONOR\\Desktop\\xsmb.pptx";
String exportPath = "C:\\Users\\HONOR\\Desktop\\a.pptx";// 读取 ppt 模板
PPTUtil pptUtil = new PPTUtil(filePath);
2、替换标题
@Test
public void testDemo() {// 读取 pptPPTUtil pptUtil = new PPTUtil(filePath);// 获取第二页幻灯片中的第一个图表,该幻灯片中只有一个图表XSLFChart chart = pptUtil.getChartFromSlide(pptUtil.getSlides().get(1));// 获取标题XSLFTextShape titleShape = chart.getTitleShape();// 打印该图表的标题System.out.println(titleShape.getText());// 重新设置图表标题XSLFTextParagraph textParagraph = pptUtil.setChartTitle(titleShape, false);pptUtil.addParagraphText(textParagraph, false, "销售统计表1-修改标题后", true, "微软雅黑", "微软雅黑", "18");// 写入到新的文件pptUtil.writePPT(exportPath);
}
输出:
销售统计表1
设置后效果
4、替换图表数据
@Test
public void testDemo() {PPTUtil pptUtil = new PPTUtil(filePath);// 从第二张幻灯片中获取第一个图表XSLFChart chart = pptUtil.getChartFromSlide(pptUtil.getSlides().get(1));// 存放数据List<List<String>> data = new ArrayList<List<String>>();List<String> tempData1 = new ArrayList<String>();List<String> tempData2 = new ArrayList<String>();// 构造数据for (int i = 0; i < 11; i++) {tempData1.add("标签" + (i + 1));tempData2.add((i + 1) + "");}data.add(tempData1);data.add(tempData2);// 替换第一个柱状图的数据pptUtil.updateBarCat(pptUtil.getBarChartFromChart(chart).get(0), 0, data); // 替换 catpptUtil.updateBarDataCache(pptUtil.getBarChartFromChart(chart).get(0), 0, tempData2); // 替换数据缓存// 替换第二个柱状图的数据pptUtil.updateBarCat(pptUtil.getBarChartFromChart(chart).get(0), 1, data); // 替换 catpptUtil.updateBarDataCache(pptUtil.getBarChartFromChart(chart).get(0), 1, tempData2); // 替换数据缓存// 替换第一个折线图的数据pptUtil.updateLineCat(pptUtil.getLineChartFromChart(chart).get(0), 0, data); // 替换 catpptUtil.updateLineDataCache(pptUtil.getLineChartFromChart(chart).get(0), 0, tempData2); // 替换数据缓存// 替换第二个折线图的数据pptUtil.updateLineCat(pptUtil.getLineChartFromChart(chart).get(0), 1, data); // 替换 catpptUtil.updateLineDataCache(pptUtil.getLineChartFromChart(chart).get(0), 1, tempData2); // 替换数据缓存pptUtil.writePPT(exportPath);
}
替换后效果
这里强调一下,如下图,因为两个柱状图是属于同一个y轴的,所以 pptUtil.getBarChartFromChart(chart).get(0)
方法就能获取到两个柱状图,只是这两个柱状图是属于同一个柱状图 barChart 里面的不同 serials(系列) 里面。
注:如果两个柱状图属于两个不同的轴,那么这两个柱状图就在两个不同的 barChart 里面。
PPTUtil 工具地址:https://gitee.com/livekeys/officetool.git
(目前只支持更新饼图,折线图,柱状图,雷达图,使用方法后续继续更新),有问题请联系我。
poi 操作 PPT,针对 PPTX--图表篇相关推荐
- POI操作ppt图表完整示例演示
poi操作ppt图表史上最完整示例演示和内嵌excel的获取添加数据简单示例,POI3.15版本. 在模板中构造几中基本图表进行测试就行了. 其它操作ppt的基础资料见:http://blog.csd ...
- poi操作ppt图表史上最完整示例演示
poi操作ppt图表史上最完整示例演示和内嵌excel的获取添加数据简单示例 ,POI3.15版本. 在模板中构造几中基本图表进行测试就行了. 完整下载地址:http://download.csdn. ...
- poi 操作 PPT,针对 PPTX--文字操作
poi 操作 PPT,针对 PPTX–文字操作 文章目录 poi 操作 PPT,针对 PPTX--文字操作 1.获取幻灯片内的所有段落文字 2.对幻灯片内的文本内容进行模板替换 3.对段落新增文本 接 ...
- Java使用poi操作ppt
Java使用poi操作ppt https://editor.csdn.net/md/?articleId=117926694 上一篇中写了操作文本框和插入图片 这一篇主要是如何在有模板的情况下如替换文 ...
- java poi 操作ppt
java poi 操作ppt 可以参考: https://www.w3cschool.cn/apache_poi_ppt/apache_poi_ppt_installation.html http:/ ...
- java使用poi操作ppt(导入,导出,读取,添加,拼接,替换文本,页面排序)
POI操作PPT文档(导入,导出,读取,添加,拼接,替换文本,页面排序) 注意:直接读取.pptx文件时不能使用${user}这样的作为替换标识,在读取.pptx文件时会解析成三段文本"${ ...
- poi操作PPT文档总结
POI操作PPT文档1 注意ppt模板不能使用${user}--这样的作为替换标识,在读取PPT模板时会解析成三段文本1.${ 2.user 3.},而一般在控件中使用%1$S这样的方式做为替换标识 ...
- pptx库ppt演示 python_Python自动化操作PPT看这一篇就够了
作者:超级大洋葱806 https://tangxing.blog.csdn.net/article/details/109568830 1.PPT自动化能干什么?有什么优势? 它可以代替你自动制作P ...
- poi操作ppt生成图表
POI版本3.14 操作ppt的HSLF中没有找到操作图表的类. 操作pptx的XSLF中有操作图表的类:org.apache.poi.xslf.usermodel.XSLFChart. ppt页面( ...
最新文章
- 【MediaPipe】(1) AI视觉,手部关键点实时跟踪,附python完整代码
- 在 BT5 下对 Red Hat Enterprise Linux 5.4 的一次***测试
- 汇编语言随笔(10)-内中断及实验12(返回到dos的中断处理程序)
- doctype的种类
- ArcGIS中QueryTask,FindTask,IndentifyTask 之间的区别
- php crc16校验算法,PHP串口通信中计算crc16校验码
- linux 备份mbr,MBR的备份与恢复
- element 修改分页样式_如何给wordpress网站的文章列表,添加分页效果?可以通过2种方式...
- 如何编辑ttf字体文件
- Java中的紧凑堆外结构/组合
- 四步创建TCP客户端
- linux使用苹果字体,Ubuntu 8.04字体美化之安装苹果丽黑字体教程(图)
- 国寿鸿寿年金保险(分红型)
- Scratch(十八):潜艇大战
- Cortex-M3 (NXP LPC1788)之启动代码分析
- 财源滚滚的第三方支付牌照
- 【推荐】jquery开发的大型web应用—H5编辑器工具
- java byte数组和文件互转
- pca图解读_利用R绘制PCA分析图(2)
- linux配置Jexus发布asp.net网站
热门文章
- 20. GD32F103C8T6入门教程-adc使用外部中断IT11触发启动adc规则通道,使用外中断IT15触发注入组
- python学习日记(基础数据类型及其方法02)
- Jasper(1)——入门
- WebView 正确设置cookie 的方法
- 【Esp32】Esp32+sx1268 Spi接口驱动SX1268模块
- 1. 用户行为采集平台概述
- 购票系统c语言座位分配,超实用!买票的时候如何选座?
- 漫谈程序员系列 怎么告别 混日子
- Qt中使用QAxObject的dynamicCall和querySubObject函数操作SolidWorks的方法
- mysql proxool.xm_pom.xml · McAntilic_清水闲人/koala - Gitee.com