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--图表篇相关推荐

  1. POI操作ppt图表完整示例演示

    poi操作ppt图表史上最完整示例演示和内嵌excel的获取添加数据简单示例,POI3.15版本. 在模板中构造几中基本图表进行测试就行了. 其它操作ppt的基础资料见:http://blog.csd ...

  2. poi操作ppt图表史上最完整示例演示

    poi操作ppt图表史上最完整示例演示和内嵌excel的获取添加数据简单示例 ,POI3.15版本. 在模板中构造几中基本图表进行测试就行了. 完整下载地址:http://download.csdn. ...

  3. poi 操作 PPT,针对 PPTX--文字操作

    poi 操作 PPT,针对 PPTX–文字操作 文章目录 poi 操作 PPT,针对 PPTX--文字操作 1.获取幻灯片内的所有段落文字 2.对幻灯片内的文本内容进行模板替换 3.对段落新增文本 接 ...

  4. Java使用poi操作ppt

    Java使用poi操作ppt https://editor.csdn.net/md/?articleId=117926694 上一篇中写了操作文本框和插入图片 这一篇主要是如何在有模板的情况下如替换文 ...

  5. java poi 操作ppt

    java poi 操作ppt 可以参考: https://www.w3cschool.cn/apache_poi_ppt/apache_poi_ppt_installation.html http:/ ...

  6. java使用poi操作ppt(导入,导出,读取,添加,拼接,替换文本,页面排序)

    POI操作PPT文档(导入,导出,读取,添加,拼接,替换文本,页面排序) 注意:直接读取.pptx文件时不能使用${user}这样的作为替换标识,在读取.pptx文件时会解析成三段文本"${ ...

  7. poi操作PPT文档总结

    POI操作PPT文档1 注意ppt模板不能使用${user}--这样的作为替换标识,在读取PPT模板时会解析成三段文本1.${ 2.user  3.},而一般在控件中使用%1$S这样的方式做为替换标识 ...

  8. pptx库ppt演示 python_Python自动化操作PPT看这一篇就够了

    作者:超级大洋葱806 https://tangxing.blog.csdn.net/article/details/109568830 1.PPT自动化能干什么?有什么优势? 它可以代替你自动制作P ...

  9. poi操作ppt生成图表

    POI版本3.14 操作ppt的HSLF中没有找到操作图表的类. 操作pptx的XSLF中有操作图表的类:org.apache.poi.xslf.usermodel.XSLFChart. ppt页面( ...

最新文章

  1. 【MediaPipe】(1) AI视觉,手部关键点实时跟踪,附python完整代码
  2. 在 BT5 下对 Red Hat Enterprise Linux 5.4 的一次***测试
  3. 汇编语言随笔(10)-内中断及实验12(返回到dos的中断处理程序)
  4. doctype的种类
  5. ArcGIS中QueryTask,FindTask,IndentifyTask 之间的区别
  6. php crc16校验算法,PHP串口通信中计算crc16校验码
  7. linux 备份mbr,MBR的备份与恢复
  8. element 修改分页样式_如何给wordpress网站的文章列表,添加分页效果?可以通过2种方式...
  9. 如何编辑ttf字体文件
  10. Java中的紧凑堆外结构/组合
  11. 四步创建TCP客户端
  12. linux使用苹果字体,Ubuntu 8.04字体美化之安装苹果丽黑字体教程(图)
  13. 国寿鸿寿年金保险(分红型)
  14. Scratch(十八):潜艇大战
  15. Cortex-M3 (NXP LPC1788)之启动代码分析
  16. 财源滚滚的第三方支付牌照
  17. 【推荐】jquery开发的大型web应用—H5编辑器工具
  18. java byte数组和文件互转
  19. pca图解读_利用R绘制PCA分析图(2)
  20. linux配置Jexus发布asp.net网站

热门文章

  1. 20. GD32F103C8T6入门教程-adc使用外部中断IT11触发启动adc规则通道,使用外中断IT15触发注入组
  2. python学习日记(基础数据类型及其方法02)
  3. Jasper(1)——入门
  4. WebView 正确设置cookie 的方法
  5. 【Esp32】Esp32+sx1268 Spi接口驱动SX1268模块
  6. 1. 用户行为采集平台概述
  7. 购票系统c语言座位分配,超实用!买票的时候如何选座?
  8. 漫谈程序员系列 怎么告别 混日子
  9. Qt中使用QAxObject的dynamicCall和querySubObject函数操作SolidWorks的方法
  10. mysql proxool.xm_pom.xml · McAntilic_清水闲人/koala - Gitee.com