Java 添加、修改PPT幻灯片中的表格
本文将介绍通过Java编程在PPT操作表格的方法。包括添加表格到PPT幻灯片,并设置表格样式、单元格对齐方式、单元格背景色、边框样式、字体、字号、合并单元格等;同时,通过加载已有表格的幻灯片也可以对表格实现添加、删除行或列、设置表格边框、行高/列宽等。
使用工具:Free Spire.Presentation for Java (免费版)
Jar文件获取:
方法1:通过官网下载jar文件。下载文件并解压,将lib文件夹下的Spire.Presentation.jar文件导入到Java程序。
方法2:通过maven仓库安装导入到程序。
Java代码示例(供参考)
【示例1】添加表格
import com.spire.presentation.*; import java.awt.*; public class AddTable { public static void main(String[]args) throws Exception { //实例化一个Presentation对象 Presentation presentation = new Presentation(); //设置表格行数和列数、行高和列宽 Double[] widths = new Double[] { 100d, 100d, 100d, 100d,100d }; Double[] heights = new Double[] { 15d, 15d, 15d, 15d, 15d, 15d }; //添加一个表格 ITable table = presentation.getSlides().get(0).getShapes().appendTable((float)presentation.getSlideSize().getSize().getWidth() / 2 - 275, 90, widths, heights); //设置表格内置样式 table.setStylePreset(TableStylePreset.LIGHT_STYLE_1_ACCENT_6); //声明一个String数组 String[][] dataStr = new String[][] { {"班级", "姓名", "性别", "学号","总分"}, {"1班", "李龙飞", "男", "Y010956","658"}, {"1班", "阜南", "男", "Y011561","686"}, {"5班", "陈琳", "女", "Y011650","654"}, {"9班", "房芬", "女", "Y011258","638"}, {"13班", "张立", "男", "Y011328","645"} }; //向表格中填充数据 for (int i = 0; i < 6; i++) { for (int j = 0; j < 5; j++) { table.get(j, i).getTextFrame().setText(dataStr[i][j]); table.get(j, i).getTextFrame().getParagraphs().get(0).setAlignment(TextAlignmentType.CENTER); } } //合并单元格 table.mergeCells(table.get(0, 2), table.get(0,2 ), false); //设置表格边框样式 table.setTableBorder(TableBorderType.Inside_Horizontal, 1, Color.black); //保存文件 presentation.saveToFile("添加表格.pptx", FileFormat.PPTX_2013); } }
表格添加效果:
【示例2】编辑、修改幻灯片中已有的表格
import com.spire.presentation.*; import java.awt.*; public class ModifyTable { public static void main(String[]args) throws Exception { //加载测试文档 Presentation ppt = new Presentation(); ppt.loadFromFile("test.pptx"); //获取表格 ITable table = (ITable) ppt.getSlides().get(0).getShapes().get(0); //添加行和列(默认在表格最下方插入一行) table.getTableRows().append(table.getTableRows().get(0)); table.getColumnsList().add(table.getColumnsList().get(0)); //插入行或列(在指定位置插入一或多行/列) table.getTableRows().insert(0, table.getTableRows().get(1)); table.getColumnsList().insert(0, table.getColumnsList().get(1)); //设置行高、列宽 table.getTableRows().get(0).setHeight(50); table.getColumnsList().get(0).setWidth(100); //删除指定行或列 table.getTableRows().removeAt(2, false); table.getColumnsList().removeAt(2, false); //设置表格边框 table.setTableBorder(TableBorderType.All, 1, Color.black); //保存文档 ppt.saveToFile("Modified.pptx",FileFormat.PPTX_2013); } }
完成代码后,运行程序,可查看生成的文档中的表格修改效果。
(本文完)