本文主要是介绍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创建表格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!