POI之PPT导出最简单实例
来源:互联网 发布:java分布式集群框架 编辑:程序博客网 时间:2024/06/08 02:02
开心一笑
有个四岁的小鬼问我:哥哥你怎么长得那么丑啊?
我想了想,到他耳边说:你不要告诉别人哦。其实我就是未来的你。
他哭了。。。
提出问题
如何实现一个最简单的PPT导出功能????
解决问题
一步一步地,没打算写太多,感觉写的篇幅过长,大都没什么耐心看下去,所以每次都只解决一个小问题……
下面是对POI的各种文件做一些简单介绍:
Excel 文件: xls 格式文件对应 POI API 为 HSSF 。 xlsx 格式为 office 2007 的文件格式,POI 中对应的API 为XSSF
Word 文件:doc 格式文件对应的 POI API 为 HWPF。 docx 格式为 XWPF
powerPoint 文件:ppt 格式对应的 POI API 为 HSLF。 pptx 格式为 XSLF
outlook :对应的 API 为 HSMF
Visio: 对应的 API 为 HDGF
Publisher : 对应的 API 为 HPBF
下面是来自POI文档里对类的介绍:
HSLFSlideShow:
This class contains the main functionality for the Powerpoint file “reader”.(该类包含PTT读的主要功能)
SlideShow:
This class is a friendly wrapper on top of the more scary HSLFSlideShow. TODO: - figure out how to match notes to their correct sheet (will involve understanding DocSlideList and DocNotesList) - handle Slide creation cleaner
(可以把该类理解为Slide管理类)
Slide
This class represents a slide in a PowerPoint Document. It allows access to the text within, and the layout. For now, it only does the text side of things though(该类代表PPT里的一页幻灯片,Slide英文意思为幻灯片)
TextBox:
Represents a TextFrame shape in PowerPoint.(在PPT里代表一个文本框)
Contains the text in a text frame as well as the properties and methods that control alignment and anchoring of the text.
例一:最简单的PPT生成实例,是针对.ppt格式做介绍,下一章,我们用.pptx做介绍
package com.hwy.test;import org.apache.poi.hslf.HSLFSlideShow;import org.apache.poi.hslf.model.Slide;import org.apache.poi.hslf.model.TextBox;import org.apache.poi.hslf.usermodel.SlideShow;import java.awt.*;import java.io.File;import java.io.FileOutputStream;/** * PPT简单导出 * Created by Ay on 2016/6/14. */public class MyFirstPPTTest { public static void main(String[] args) throws Exception{ String filePath = "D://MyPPT.ppt"; /** 加载PPT **/ HSLFSlideShow ppt = new HSLFSlideShow(filePath); /** 创建一个slideShow,可以理解为管理Slide的列表 **/ SlideShow slideShow = new SlideShow(ppt); /** 可以 理解为PPT里的每一页 **/ Slide slide = slideShow.createSlide(); /** 创建一个文本框 **/ TextBox textBox = new TextBox(); /** 设置文本框的值 **/ textBox.setText("Hello PPT ...."); textBox.setAnchor(new Rectangle(10,10,100,100)); slide.addShape(textBox); /** 输出文件 **/ slideShow.write(new FileOutputStream(filePath)); }}
结果:
读书感悟
来自《岁月的童话》
- 回忆是一种很奇妙的东西,它生活在过去,存在于现在,却能影响未来。
- 如果真的有一天。某个回不来的人消失了。某个离不开的人离开了。也没关系。时间会带你去最正确的人身边。请你先好好爱着自己。然后那个还不知道在哪里的人,会来接你。
- 岁月似一掬清水,无论平摊还是紧握在手掌,总会有一点一滴从指缝中流逝。
其他
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎转载,点赞,顶,欢迎留下宝贵的意见,多谢支持!
- POI之PPT导出最简单实例
- POI之Excel导出最简单实例
- POI之图片导出到PPT简单实例
- POI之PPT中生成表格简单实例
- POI之Excel简单导出
- 浅谈 poi 实现导出ppt
- POI之PPT文本框生成及样式设置实例
- 使用POI操作PPT实例
- POI-----POI导出Excel实例
- poi最全面导出
- poi导出excel实例
- poi导出实例
- poi--excel --导出实例
- POI导出Excel实例
- POI导出Excel实例
- poi简单导出
- POI 导入导出数据库实例
- POI 导出EXCEL样式实例
- Android中apk加固完善篇之内存加载dex方案实现原理(不落地方式加载)
- 16天气预报
- mybatis的多对多映射
- 高级知识点之必会
- 数据库设计原则
- POI之PPT导出最简单实例
- ShareSDK 问题汇总
- http之状态码
- 【CodeForces】653A - Bear and Three Balls(计数)
- MyBatis批量插入数据
- ubuntu16.04下virtualenv环境中, django与mysql安装
- Ralink AP的WIFI组密钥多久更新一次?
- 高级知识点之进阶
- Android应用的基本组件介绍