开心一笑

有个四岁的小鬼问我:哥哥你怎么长得那么丑啊?

我想了想,到他耳边说:你不要告诉别人哦。其实我就是未来的你。

他哭了。。。

提出问题

如何实现一个最简单的PPT导出功能呢???

解决问题

QQ10.png

一步一步地,没打算写太多,感觉写的篇幅过长,大都没什么耐心看下去,所以每次都只解决一个小问题,开始吧......

下面是对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{

/** PPT文件路径 **/

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 ....");

/** 设置文本框的位置,参数分别为想x,y,width,height **/

textBox.setAnchor(new Rectangle(10,10,100,100));

slide.addShape(textBox);

/** 输出文件 **/

slideShow.write(new FileOutputStream(filePath));

}

}

结果:

这里写图片描述

读书分享

来自《岁月的童话》

回忆是一种很奇妙的东西,它生活在过去,存在于现在,却能影响未来。

如果真的有一天。某个回不来的人消失了。某个离不开的人离开了。也没关系。时间会带你去最正确的人身边。请你先好好爱着自己。然后那个还不知道在哪里的人,会来接你。

岁月似一掬清水,无论平摊还是紧握在手掌,总会有一点一滴从指缝中流逝。

java 生成ppt_POI之PPT导出最简单实例相关推荐

  1. POI之PPT导出最简单实例

    开心一笑 有个四岁的小鬼问我:哥哥你怎么长得那么丑啊? 我想了想,到他耳边说:你不要告诉别人哦.其实我就是未来的你. 他哭了... 视频教程 大家好,我录制的视频<Java之优雅编程之道> ...

  2. js调用java_Js调用Java方法并互相传参的简单实例

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. public class PluginTest extends P ...

  3. js调java并传参_Js调用Java方法并互相传参的简单实例

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...

  4. Java程序如何写判断闰年_用Java程序判断是否是闰年的简单实例

    我们知道,(1)如果是整百的年份,能被400整除的,是闰年:(2)如果不是整百的年份,能被4整除的,也是闰年.每400年,有97个闰年.鉴于此,程序可以作以下设计: 第一步,判断年份是否被400整除, ...

  5. java数字编程提,java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们怎么把其中的数字提取出来呢?大致有以下几种方法, ...

  6. 编写java判断闰年_用Java程序判断是否是闰年的简单实例

    我们知道,(1)如果是整百的年份,能被400整除的,是闰年:(2)如果不是整百的年份,能被4整除的,也是闰年.每400年,有97个闰年.鉴于此,程序可以作以下设计: 第一步,判断年份是否被400整除, ...

  7. JAVA生成甘特图Excel导出

    JAVA生成甘特图EXCEL 场景:以甘特图的方式,可以直观的看到任务的进展情况,资源的利用率等等,它也能帮助你考虑人力.资源.日期.项目中重复的要素和关键的部分 领域:如今甘特图不单单被应用到生产管 ...

  8. Java的反射机制,内含超简单实例代码(搞懂反射,这一篇就够了)

    一 首先来说说反射机制的概念: 程序在运行时, 对于类来说,可以知道该类的任意属性和方法: 对于对象来说,可以调用该对象的任意方法和属性: 就以上这种动态获取信息的机制就称为Java的反射机制 彻底了 ...

  9. java webserver demo_Java 实现 web服务器的简单实例

    Java 实现 web服务器的简单实例 实例代码: import java.util.*; // Chapter 8, Listing 3 public class WebServerDemo { / ...

最新文章

  1. int main(int argc,char *argv[]),主函数的参数问题
  2. 字符串charAt()
  3. spring 注解试事物源码解析
  4. 列出本机正在监控的端口
  5. svn使用经验---不断总结
  6. 成功解决absl.flags._exceptions.UnrecognizedFlagError: Unknown command line flag 'data_format'
  7. git+jekyll部署备忘
  8. 蓝桥杯 ALGO-118 算法训练 连续正整数的和
  9. 一体机的扫描至网络共享的设置
  10. 强悍的 Vim —— .vimrc(vim 配置文件)
  11. Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案
  12. js获取时间戳的几种方式
  13. 《穷查理宝典》晨读笔记~投资的三条智慧
  14. 自定义View时,用到Paint Canvas的一些温故,自定义Loading控件(动画五,“六边形”的旋转跳跃)
  15. html 滚动条自动最底,让DIV的滚动条自动滚动到最底部 - 4种方法
  16. PowerShell批量部署Hyper-V Windows虚机
  17. 【开始报名】第二届中国移动“梧桐杯”大数据应用创新大赛邀你夺52w大奖
  18. 用计算机过去机读卡,阅卷机读卡机答题卡使用流程
  19. 远端rlogin服务
  20. 机器学习图像特征提取—颜色(RGB、HSV、Lab)特征提取并绘制直方图

热门文章

  1. python语言程序设计(梁勇)
  2. 最全的Snagit 2022快捷键大全
  3. 循环神经网络(RNN)简单介绍及实现(基于表面肌电信号)
  4. PBR流程常用的几种贴图类型
  5. ArcGIS基础实验操作100例--实验21按区域修改栅格值
  6. 阿里云国际站购买服务器遇到实名失败是什么原因?
  7. Android暗黑模式适配
  8. cnn汇总(1)(2)
  9. 《AI算法工程师手册》
  10. 中值滤波算法--C 语言实现