精华内容
下载资源
问答
  • 2018-11-13 10:35:17

    通常会使用模板来制作PPT,模板中使用特定字符串表示待替换的内容,但是使用POI编辑PPT模板时会出现,内容被替换的同时,原本的样式也丢失。

    不要使用TextShape和TableCell的setText进行内容替换

    可以使用下面的方法, 只替换文本段落的内容

    /**
    * 打开模板文件进行替换
    **/
    private void replaceTemplate(String templateFile) {
        //打开PPT,并制定新文件
        try (SlideShow ppt = new XMLSlideShow(new FileInputStream(templateFile));
                FileOutputStream out = new FileOutputStream("newFile.pptx")){
            List<Slide> slides = ppt.getSlides();
            for (Slide slide : slides) {
                List<Shape> shapes = slide.getShapes();
                for (Shape shape : shapes) {
                    if (shape instanceof TextShape) { //文本
                        List<TextParagraph> list = ((TextShape) shape).getTextParagraphs();           
                        replaceData(list);
                    }
                    if (shape instanceof TableShape) {// 表格
                        int rowSize = ((TableShape) shape).getNumberOfRows();
                        int columnSize = ((TableShape) shape).getNumberOfColumns();
                        for (int rowNum = 0; rowNum < rowSize; rowNum++) {
                            for (int columnNum = 0; columnNum < columnSize; columnNum++) {
                                TableCell cell = ((TableShape) shape).getCell(rowNum, columnNum);
                                if (cell != null) {
                                    List<TextParagraph> list = cell.getTextParagraphs();
                                    replaceData(list);
                                }
                            }
                        }
                    }
                }
            }
            ppt.write(out);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
    * 寻找段落中的所有TextRun并进行替换工作
    **/
    private void replaceData(List<TextParagraph> list) {
        if(list == null || list.size() <= 0)
            return;
        for (TextParagraph textParagraph : list) {
            if(textParagraph == null)
                continue;
            List<TextRun> textRuns = textParagraph.getTextRuns();
            if(textRuns == null || textRuns.size() <= 0 || textRuns.isEmpty())
                continue;
            for (TextRun textRun : textRuns) {
                if(textRun == null)
                    continue;
                replaceDate(textRun, "yyyy", "2018");
            }
        }
    }
    /**
    * 把特定pat替换成新的value
    **/
    private void replaceData(TextRun textRun, String pat, value) {
        String text = textRun.getRawText();
        if(StringUtil.isNull(text))
            return;
        String r = text;
        if(r.contains(pat))
            r = r.replaceAll(pat, value);
        if(!r.equals(text))
            textRun.setText(r);

     

    更多相关内容
  • Latex制作PPT模板

    2019-04-25 11:00:32
    Latex制作PPT模板,自动排版,美观好用,简洁大方,适合各种正式学术场合使用
  • PPT模板-PPT母板制作教程.dpt
  • 橙汁饮品ppt模板.ppt

    2019-09-10 18:29:52
    橙汁饮品、饮料、果汁ppt模板
  • 微课制作ppt模板.ppt

    2021-09-29 20:53:02
    微课制作ppt模板.ppt
  • Latex做PPT模板

    2018-03-25 21:00:38
    一个CTeX做的中文幻灯片的模板,可以结合李汉龙等人的《LaTeX快速入门与提高》学习Latex。
  • 这是一份ppt模板,包括了四季风景,萌宠,晚霞,樱花等,历史的厚重感和优美的风景令人神往。适合汇报啊,毕业答辩
  • 美食烹饪PPT制作模板适用于食材制作主题设计应用。
  • 中华饮食文化西式糕点烹调制作PPT优质模板.ppt
  • 这是一套电影特效影视制作PPT模板,共27张; 幻灯片模板封面,使用了电影胶片和各种震撼的电影特效场景作为PPT背景图片。中间使用一个圆形微立体图形,放置公司logo。下方填写电影特效影视制作PPT标题。幻灯片模板...
  • 微课制作ppt模板下载

    2019-10-19 18:58:18
    微课制作PPT模板适用于内容组织设计应用,
  • PPT是教大家如何制作毕业论文PPT,幻灯片介绍了从以下几点讲述,How do thesis PPT: 1、Time:先搞清楚答辩时间限制; 2、Structure:结构比形式更重要; 3、Form:形式可以弥补内容的不足; 4、Details:别忽视...
  • 这里面有各种教学课件PPT模板,很全面,也很新颖,涵盖了各科,有静态,动态,还有动画,这差不多有85个,仅供参考学习制作
  • Latex学术版ppt模板红色.rar
  • 婚礼ppt制作模板下载

    2019-10-18 16:33:51
    婚礼ppt制作模板下载适用于婚礼恋爱主题设计应用。
  • PPT动画制作模板

    2016-09-29 13:11:29
    PPT动画制作模板 韩国人做得,非常炫,非常酷,值得学习扩展。
  • 怎么样制作爱心公益ppt模板适用于爱心公益主题设计应用。
  • PPT制作模板及素材罗兰贝格模板.ppt
  • 下午 茶制作PPT模板适用于休闲生活主题设计应用。
  • PPT制作模板

    2019-01-17 16:44:51
    ppt制作模板样例
  • ppt资源模板

    2017-06-18 20:30:32
    最强大,最完美,动态效果炫酷,适合公司ppt制作,有助于大学生学习借鉴
  • 项目进度汇报PPT模板

    2019-02-20 11:01:54
    项目管理-项目进度、工作进度汇报PPT模板,当前工作进度、存在问题、解决方案、下阶段工作安排。
  • 制作商业的思路PPT模板.ppt
  • 这是一套动态任务时钟制作PPT教程,第一PPT模板网提供幻灯片动画免费下载; PPT教程实例讲解怎么制作一个动态任务时钟,内容页面包括背景制作方法,原图欣赏,底面制作方法,时钟制作方法以及蛋糕制作,咖啡制作,...
  • 制作PPT模板

    2018-03-29 16:20:50
    欧美风格简约,清晰,自然的PPT模板,里面包含表格,柱状图等等制作PPT可能用到的格式
  • 模板图表制作模板PPT学习教案.pptx
  • 幻灯片模板封面,使用了蓝色空间科技感图片作为背景,前面放置各种五菱汽车产品。上方填写汽车销售PPT标题。 PowerPoint模板内容页,由25张蓝色微立体图表制作。 关键词:汽车行业幻灯片模板,动态五菱汽车PPT模板...
  • 图表模板图表制作模板PPT教案.pptx
  • 本个人简历PPT,是一份优秀的求职简历制作教程,第一PPT模板网提供免费下载; 搜集 秋叶语录 整理 黄丽娟 PPT制作 曹将 PPT发布 第一PPT- www.1ppt.com 15秒 筛选简历时HR平均停留时间 5秒 你的简历必须在最初5秒内...
  • PPT模板是动态模板,整套幻灯片模板用蓝色作为幻灯片背景,模糊的城市建筑作为幻灯片背景图片,商务气息浓厚,首页三角的几何图形以及线条作为幻灯片背景装饰;幻灯片模板内容页面根据PPT目录的内容把整套模板分成...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,169
精华内容 7,667
关键字:

如何用模板制作ppt