poi操作ppt创建表格

2024-02-01 02:48
文章标签 操作 ppt poi 创建表格

本文主要是介绍poi操作ppt创建表格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

POI版本3.14。

创建powerpoint,一页ppt,里面插入两个表格。

/* ====================================================================Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements.  See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
==================================================================== */package org.apache.poi.hslf.examples;import java.awt.Color;
import java.io.FileOutputStream;import org.apache.poi.hslf.usermodel.HSLFSlide;
import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hslf.usermodel.HSLFTable;
import org.apache.poi.hslf.usermodel.HSLFTableCell;
import org.apache.poi.hslf.usermodel.HSLFTextRun;
import org.apache.poi.sl.draw.DrawTableShape;
import org.apache.poi.sl.usermodel.TextParagraph.TextAlign;
import org.apache.poi.sl.usermodel.VerticalAlignment;/*** Demonstrates how to create tables** @author Yegor Kozlov*/
public final class TableDemo {public static void main(String[] args) throws Exception {//test data for the first taableString[][] txt1 = {{"INPUT FILE", "NUMBER OF RECORDS"},{"Item File", "11,559"},{"Vendor File", "502"},{"Purchase History File - # of PO\u2019s\r(12/01/04 - 05/31/06)", "12,852"},{"Purchase History File - # of PO Lines\r(12/01/04 - 05/31/06)", "53,523" },{"Total PO History Spend", "$10,172,038"}};//构造ppt对象HSLFSlideShow ppt = new HSLFSlideShow();//构造一页pptHSLFSlide slide = ppt.createSlide();//构造一个6行2列的表HSLFTable table1 = slide.createTable(6, 2);for (int i = 0; i < txt1.length; i++) {for (int j = 0; j < txt1[i].length; j++) {//获取表的单元格HSLFTableCell cell = table1.getCell(i, j);//单元格的文本域HSLFTextRun rt = cell.getTextParagraphs().get(0).getTextRuns().get(0);//设置样式rt.setFontFamily("Arial");rt.setFontSize(10d);if(i == 0){cell.getFill().setForegroundColor(new Color(227, 227, 227));} else {rt.setBold(true);}//设置格子垂直居中cell.setVerticalAlignment(VerticalAlignment.MIDDLE);//设置格子水平居中cell.setHorizontalCentered(true);//设置格子文本cell.setText(txt1[i][j]);}}DrawTableShape dts1 = new DrawTableShape(table1);dts1.setAllBorders(1.0, Color.black);//设置第一列宽度table1.setColumnWidth(0, 300);//设置第二列宽度table1.setColumnWidth(1, 150);//页面宽度int pgWidth = ppt.getPageSize().width;//移动位置table1.moveTo((pgWidth - table1.getAnchor().getWidth())/2., 100.);//test data for the second taableString[][] txt2 = {{"Data Source"},{"CAS Internal Metrics - Item Master Summary\r" +"CAS Internal Metrics - Vendor Summary\r" +"CAS Internal Metrics - PO History Summary"}};//two rows, one columnHSLFTable table2 = slide.createTable(2, 1);for (int i = 0; i < txt2.length; i++) {for (int j = 0; j < txt2[i].length; j++) {HSLFTableCell cell = table2.getCell(i, j);HSLFTextRun rt = cell.getTextParagraphs().get(0).getTextRuns().get(0);rt.setFontSize(10d);rt.setFontFamily("Arial");if(i == 0){cell.getFill().setForegroundColor(new Color(0, 51, 102));rt.setFontColor(Color.white);rt.setBold(true);rt.setFontSize(14d);cell.setHorizontalCentered(true);} else {rt.getTextParagraph().setBullet(true);rt.setFontSize(12d);rt.getTextParagraph().setTextAlign(TextAlign.LEFT);cell.setHorizontalCentered(false);}cell.setVerticalAlignment(VerticalAlignment.MIDDLE);cell.setText(txt2[i][j]);}}table2.setColumnWidth(0, 300);table2.setRowHeight(0, 30);table2.setRowHeight(1, 70);DrawTableShape dts2 = new DrawTableShape(table2);dts2.setOutsideBorders(Color.black, 1.0);table2.moveTo(200, 400);FileOutputStream out = new FileOutputStream("hslf-table.ppt");ppt.write(out);out.close();ppt.close();}
}


这篇关于poi操作ppt创建表格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/665852

相关文章

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

使用Python在PDF中绘制多种图形的操作示例

《使用Python在PDF中绘制多种图形的操作示例》在进行PDF自动化处理时,人们往往首先想到的是文本生成、图片嵌入或表格绘制等常规需求,然而在许多实际业务场景中,能够在PDF中灵活绘制图形同样至关重... 目录1. 环境准备2. 创建 PDF 文档与页面3. 在 PDF 中绘制不同类型的图形python

Java 操作 MinIO详细步骤

《Java操作MinIO详细步骤》本文详细介绍了如何使用Java操作MinIO,涵盖了从环境准备、核心API详解到实战场景的全过程,文章从基础的桶和对象操作开始,到大文件分片上传、预签名URL生成... 目录Java 操作 MinIO 全指南:从 API 详解到实战场景引言:为什么选择 MinIO?一、环境

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL

C#自动化生成PowerPoint(PPT)演示文稿

《C#自动化生成PowerPoint(PPT)演示文稿》在当今快节奏的商业环境中,演示文稿是信息传递和沟通的关键工具,下面我们就深入探讨如何利用C#和Spire.Presentationfor.NET... 目录环境准备与Spire.Presentation安装核心操作:添加与编辑幻灯片元素添加幻灯片文本操

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

基于Java实现PPT到PDF的高效转换详解

《基于Java实现PPT到PDF的高效转换详解》在日常开发中,经常会遇到将PPT文档批量或单文件转换为PDF的需求,本文将详细介绍其使用流程、核心代码与常见问题解决方案,希望对大家有所帮助... 目录一、环境配置Maven 配置Gradle 配置二、核心实现:3步完成PPT转PDF1. 单文件转换(基础版)