Java使用poi导出ppt文件
程序员文章站
2022-07-13 12:29:54
...
1、导入poi相关依赖
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
2、相关的代码
XMLSlideShow ppt = new XMLSlideShow();
// 创建幻灯片
XSLFSlide slide = ppt.createSlide();
// 创建文本框
XSLFTextBox textBox = slide.createTextBox();
// x y设置距离 w h 设置大小
textBox.setAnchor(new Rectangle2D.Double(300,50, 100, 50));
// 设置文本框的内容
textBox.addNewTextParagraph().addNewTextRun().setText("创建PPT");
// 插入图片
// 获取图片的file对象
File file = new File("D:\\work\\ppt_demo\\src\\main\\resources\\static\\8.png");
// 获取字节流
byte[] bt = FileUtils.readFileToByteArray(file);
XSLFPictureData idx = ppt.addPicture(bt, PictureData.PictureType.PNG);
// 插入图片
XSLFPictureShape pic = slide.createPicture(idx);
pic.setAnchor(new Rectangle2D.Double(100,100,500,350));
// 创建新一页的幻灯片
XSLFSlide slide2 = ppt.createSlide();
XSLFTextBox textBox2 = slide2.createTextBox();
// x y设置距离 w h 设置大小
textBox2.setAnchor(new Rectangle2D.Double(300,50, 100, 50));
textBox2.addNewTextParagraph().addNewTextRun().setText("创建ppt2");
// 写入ppt中
ppt.write(new FileOutputStream("D:\\work\\ppt_demo\\src\\main\\resources\\static\\ppt8.pptx"));