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

相关文章

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件