1.程序说明
1.1编程语言:Java
1.2 第三方库:Apache POI
Apache POI 官网: http://poi.apache.org/
下载页面: http://poi.apache.org/download.html
版本3.8下载地址: http://www.apache.org/dyn/closer.cgi/poi/release/bin/poi-bin-3.8-20120326.zip
1.3程序功能
使用Apache POI创建带有表格的PPT
1.4程序作者
Fans同学
 
2.程序源代码
package org.apache.poi.hslf.examples;
import java.awt.Color;
import java.io.FileOutputStream;
import org.apache.poi.hslf.model.Line;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.Table;
import org.apache.poi.hslf.model.TableCell;
import org.apache.poi.hslf.model.TextBox;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;
/**
* 创建带有表格的PPT
*
* @author Fans.Lei
*/
public final class PPTTableDemo {
public static final String filePath = "c:/poi/fans.ppt";
// 入口函数
public static void main(String[] args) throws Exception {
PPTTableDemo tableDemo = new PPTTableDemo();
tableDemo.createPPT();
}
// 创建一个含有2个表格的只有1页内容的PPT
public void createPPT() throws Exception {
// 第一个表格的测试数据
String[][] namePlaceDatas = { { "昵称", "工作地点" }, { "Fans同学", "北京市朝阳区" },
{ "刺客", "广东省珠海市" }, { "嘻嘻猴", "广东省深圳市" }, { "月亮", "湖北省武汉市" },
{ "Wonderful", "湖北省武汉市" } };
SlideShow ppt = new SlideShow();
Slide slide = ppt.createSlide();
// 6行2列
Table namePlaces = new Table(6, 2);
for (int i = 0; i < namePlaceDatas.length; i++) {
for (int j = 0; j < namePlaceDatas[i].length; j++) {
TableCell cell = namePlaces.getCell(i, j);
cell.setText(namePlaceDatas[i][j]);
RichTextRun rt = cell.getTextRun().getRichTextRuns()[0];
rt.setFontName("宋体");
rt.setFontSize(14);
if (i == 0) {
cell.getFill().setForegroundColor(new Color(227, 227, 227));
rt.setBold(true);
} else {
// /rt.setBold(true);
}
cell.setVerticalAlignment(TextBox.AnchorMiddle);
cell.setHorizontalAlignment(TextBox.AlignCenter);
}
}

// 设置表格的边框
Line border1 = namePlaces.createBorder();
border1.setLineColor(Color.black);
border1.setLineWidth(1.0);
namePlaces.setAllBorders(border1);
// 设置表格的列宽
namePlaces.setColumnWidth(0, 200);
namePlaces.setColumnWidth(1, 200);
slide.addShape(namePlaces);
int pgWidth = ppt.getPageSize().width;
namePlaces.moveTo((pgWidth - namePlaces.getAnchor().width) / 2, 100);
// 第二个表格的测试数据
String[][] bookDatas = {
{ "Fans荐书" },
{ "<<浪潮之巅>>@吴军--高科技公司的兴衰史\r" + "<<孙子兵法>>@孙子--兵学圣典,天下第一兵书\r"
+ "<<货币战争>>@宋鸿兵--欧美主要金融势力的兴衰和发展" } };
// 2行1列
Table books = new Table(2, 1);
for (int i = 0; i < bookDatas.length; i++) {
for (int j = 0; j < bookDatas[i].length; j++) {
TableCell cell = books.getCell(i, j);
cell.setText(bookDatas[i][j]);
RichTextRun rt = cell.getTextRun().getRichTextRuns()[0];
rt.setFontSize(10);
rt.setFontName("宋体");
if (i == 0) {
cell.getFill().setForegroundColor(new Color(0, 51, 102));
rt.setFontColor(Color.white);
rt.setBold(true);
rt.setFontSize(16);
cell.setHorizontalAlignment(TextBox.AlignCenter);
} else {
rt.setBullet(true);
rt.setFontSize(14);
cell.setHorizontalAlignment(TextBox.AlignLeft);
}
cell.setVerticalAlignment(TextBox.AnchorMiddle);
}
}

// 设置 表格的列宽和行高
books.setColumnWidth(0, 400);
books.setRowHeight(0, 30);
books.setRowHeight(1, 70);
Line border2 = books.createBorder();
books.setOutsideBorders(border2);
slide.addShape(books);
int pgWidth2 = ppt.getPageSize().width;
books.moveTo((pgWidth2 - books.getAnchor().width) / 2, 400);
// 将PPT写入文件中
FileOutputStream out = new FileOutputStream(filePath);
ppt.write(out);
out.close();
}
}
3.程序运行结果

创建带有表格的PPT相关推荐

  1. 教程:在C#中创建带有表格、图表、图片的PPT演示文稿

    MS PowerPoint演示文稿允许您创建包含文本,图像,图表,动画和其他元素的幻灯片放映.各种其他格式设置选项使您的演示文稿更具吸引力.在本文中,您将了解如何以编程方式创建此类演示文稿.您将学习如 ...

  2. 中职计算机应用基础word表格,计算机应用基础-word表格编辑.ppt

    计算机应用基础-word表格编辑.ppt (25页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 计算机应用基础 贵州交通职业技术学院 信息 ...

  3. reportlab 库生成带有表格的PDF报表文件

    用reportlab 库生成PDF文件的确很方便,对于简单的PDF文件的生成,可以直接使用最基本的一些drawXXX()方法来实现,具有可参见我的另一篇文章(https://blog.csdn.net ...

  4. 计算机表格的,计算机表格处理.ppt

    计算机表格处理.ppt (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 Excel的数据管理 ---图表学习目标掌握简单排序和复杂排 ...

  5. phpexcel_cell 获取表格样式_Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...

    精品推荐 国内稀缺优秀Java全栈课程-Vue+SpringBoot通讯录系统全新发布! Docker快速手上视频教程(无废话版)[免费] 作者:E-iceblue https://www.cnblo ...

  6. oracle创建带参数视图6,Oracle创建带有参数的视图代码介绍

    在Oracle里,视图不像存储过程和函数一样,可以定义输入参数,但我们可以变个方式,使用程序包来实现 首先定义程序包: /* 按个人需要定义,我定义三个参数 ,因我项目程序需要,所以三个参数都是num ...

  7. 创建带有关联的 XML 架构的 XML 文件 从 XML 文件创建 XML 架构

    一.创建带有关联的XML 架构的XML 文件 1.创建新的 Windows 应用程序项目 首先需要在 Visual Basic 或 Visual C# 中创建新的 Windows 应用程序.创建一个新 ...

  8. 实验10:创建带有生命周期方法的bean ||实验11:测试bean的后置处理器

    实验10:创建带有生命周期方法的bean 实验11:测试bean的后置处理器 MyBeanPostProcessor.java package com.atguigu.bean;import org. ...

  9. 点击按钮创建一个表格 点击按钮创建一个表格 权限选择 元素的value属性操作

    点击按钮创建一个表格 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

最新文章

  1. sysname数据类型是什么
  2. Django 中 cookie的使用
  3. 文件流习题8.3 8.4
  4. 强化学习1——策略,价值函数,模型
  5. centos7安装Java
  6. Css 选择器 算法 规则
  7. OpenGL版本与OpenGL扩展机制
  8. Linux绝对战胜不了Windows系统
  9. 2021 年百度之星·程序设计大赛 - 复赛 1001 Palindrome(结论,奇偶性)
  10. uCOS-II的学习笔记(共九期)和例子(共六个)
  11. 推荐系统(6):推荐算法之基于内容的推荐算法
  12. SIM900A GPRS GSM 基础知识
  13. imageview显示服务器图片,imageview 直接加载图片流
  14. Rancher+k3s+阿里云流水线详细配置教程
  15. 《通关!游戏设计之道(continue...)》
  16. python爬取微博热搜榜
  17. 两步实现在C代码中快速集成gtest进行单元测试
  18. powerbi服务器打开文件慢,Power BI 优化指南
  19. FWT学习笔记(快速沃尔什变换)
  20. 7805和78l05可以代换吗_78L05和7805有什么区别

热门文章

  1. How to build eMMC flash programmer MPRG7x30.hex and 7x30_msimage.mbn?
  2. locust利用locust-plugins插件,将结果记录到TimescaleDB数据库,用Grafana 绘制结果
  3. 程序人生 - 程序员高情商的聊天技巧
  4. Android 学习之多状态布局的一种实现方案
  5. 防止程序多开的原理介绍
  6. 协整:醉汉牵着一条狗
  7. 【Git通关之旅】从山脚到山顶(傲视群雄版)
  8. 标准分辨率QVGA,VGA,SVGA,XGA,SXGA+,UVGA的定义
  9. 央行就《非银行支付机构网络支付业务管理办法(征求意见稿)》有关问题答记者问...
  10. 用来记笔记的三个 Emacs 模式