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);
    }
}

完成代码后,运行程序,可查看生成的文档中的表格修改效果。

(本文完)

 

posted @ 2019-07-03 11:28  E-iceblue  阅读(1590)  评论(5编辑  收藏  举报