Java 设置Word表格边框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 设置Word表格边框相关的知识,希望对你有一定的参考价值。

概述

本文介绍通过Java程序设置Word表格边框的方法,设置边框时可对整个表格设置,也可对指定单元格设置,同时可对边框进行格式化设置设置,包括边框类型、样式、颜色、线条宽度等等,下面将分三个示例来展示如何设置边框效果:

  1. 表格边框
    1.1 对整个表格设置统一的边框样式
    1.2 对表格指定边框设置样式
  2. 单元格边框(指定单元格设置边框)

程序环境准备

本文使用的是IDEA,并且需要使用到Word库(Free Spire.Doc for Java免费版),可手动下载并将lib文件夹夹下的Spire.Doc.jar导入java程序;如果想通过Maven仓库下载导入,可参考这里的jar导入方法。

Java 代码示例

【示例1】对整个表格设置统一的边框样式

import com.spire.doc.*;
import com.spire.doc.documents.BorderStyle;

public class TableBorder2 {
    public static void main(String[] args) {
        //加载Word文档
        Document doc = new Document();
        doc.loadFromFile("sample.docx");

        //获取Section
        Section section = doc.getSections().get(0);

        //获取第一个表格
        Table table = section.getTables().get(0);

        //设置表格边框样式
        table.getTableFormat().getBorders().setBorderType(BorderStyle.Thin_Thick_Thin_Large_Gap);

        //保存文档
        doc.saveToFile("TableBorder2.docx",FileFormat.Docx_2013);
        doc.dispose();
    }
}

整体边框效果:
技术图片
【示例2】对表格指定边框设置样式

import com.spire.doc.*;
import com.spire.doc.documents.BorderStyle;

import java.awt.*;

public class TableBorder {
    public static void main(String[] args) {
        //加载Word文档
        Document doc = new Document();
        doc.loadFromFile("sample.docx");

        //获取Section
        Section section = doc.getSections().get(0);

        //获取第一个表格
        Table table = section.getTables().get(0);

        //设置上边框
        table.getTableFormat().getBorders().getTop().setBorderType(BorderStyle.Dot_Dash);
        table.getTableFormat().getBorders().getTop().setLineWidth(2f);
        table.getTableFormat().getBorders().getTop().setColor(Color.red);

        //设置右边框
        table.getTableFormat().getBorders().getRight().setBorderType(BorderStyle.Double);
        table.getTableFormat().getBorders().getRight().setLineWidth(2f);
        table.getTableFormat().getBorders().getRight().setColor(Color.green);

        //设置下边框
        table.getTableFormat().getBorders().getBottom().setBorderType(BorderStyle.None);

        //设置左边框
        table.getTableFormat().getBorders().getLeft().setBorderType(BorderStyle.Hairline);
        table.getTableFormat().getBorders().getLeft().setLineWidth(2f);
        table.getTableFormat().getBorders().getLeft().setColor(Color.blue);

        //设置垂直边框
        table.getTableFormat().getBorders().getVertical().setBorderType(BorderStyle.Dot);
        table.getTableFormat().getBorders().getVertical().setLineWidth(2f);
        table.getTableFormat().getBorders().getVertical().setColor(Color.orange);

        //设置水平边框
        table.getTableFormat().getBorders().getHorizontal().setBorderType(BorderStyle.Wave);
        table.getTableFormat().getBorders().getHorizontal().setLineWidth(2f);
        table.getTableFormat().getBorders().getHorizontal().setColor(Color.magenta);

        //保存文档
        doc.saveToFile("TableBorder.docx",FileFormat.Docx_2013);
        doc.dispose();
    }
}

指定边框设置效果:
技术图片

【实例3】指定单元格设置边框

import com.spire.doc.*;
import com.spire.doc.documents.BorderStyle;

import java.awt.*;

public class CellBorder {
    public static void main(String[] args) {
        //加载Word文档
        Document doc = new Document();
        doc.loadFromFile("sample.docx");

        //获取Section
        Section section = doc.getSections().get(0);

        //获取第一个表格
        Table table = section.getTables().get(0);

        //获取单元格,设置上、下边框
        TableCell cell1 = table.get(0,0);
        cell1.getCellFormat().getBorders().getTop().setBorderType(BorderStyle.Single);
        cell1.getCellFormat().getBorders().getTop().setLineWidth(2f);
        cell1.getCellFormat().getBorders().getTop().setColor(Color.red);
        cell1.getCellFormat().getBorders().getBottom().setBorderType(BorderStyle.Dash_Dot_Stroker);
        cell1.getCellFormat().getBorders().getBottom().setLineWidth(2);
        cell1.getCellFormat().getBorders().getBottom().setColor(Color.pink);

        //获取单元格,设置左、右边框
        TableCell cell2 = table.get(1,1);
        cell2.getCellFormat().getBorders().getLeft().setBorderType(BorderStyle.Hairline);
        cell2.getCellFormat().getBorders().getLeft().setLineWidth(2);
        cell2.getCellFormat().getBorders().getLeft().setColor(Color.yellow);
        cell2.getCellFormat().getBorders().getRight().setBorderType(BorderStyle.Double);
        cell2.getCellFormat().getBorders().getRight().setLineWidth(2f);
        cell2.getCellFormat().getBorders().getRight().setColor(Color.magenta);

        //保存文档
        doc.saveToFile("CellBorder.docx",FileFormat.Docx_2013);
        doc.dispose();
    }
}

单元格边框设置效果:
技术图片

(完)

以上是关于Java 设置Word表格边框的主要内容,如果未能解决你的问题,请参考以下文章

word中制作的表格线条是灰色的,不能打印,怎么设置黑色的?

如何在html的表格中加入边框线

CSS设置表格边框 border:1px 怎么显示不出来

怎么用CSS设置html中的表格边框样式

Java 在Word中添加表格嵌套表格

java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!