概述:

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

1. 表格边框

1.1 对整个表格设置统一的边框样式

1.2 对表格指定边框设置样式

2. 单元格边框(指定单元格设置边框)

程序环境准备

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

Java 代码示例:

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

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


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

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

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

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

  14.         //保存文档
  15.         doc.saveToFile("TableBorder2.docx",FileFormat.Docx_2013);
  16.         doc.dispose();
  17.     }
  18. }

整体边框效果:

Java 设置Word表格边框-LMLPHP

【示例2】对表格指定边框设置样式

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

  3. import java.awt.*;

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

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

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

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

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

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

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

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

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

  35.         //保存文档
  36.         doc.saveToFile("TableBorder.docx",FileFormat.Docx_2013);
  37.         doc.dispose();
  38.     }
  39. }

指定边框设置效果:

Java 设置Word表格边框-LMLPHP

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


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

  3. import java.awt.*;

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

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

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

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

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

  29.         //保存文档
  30.         doc.saveToFile("CellBorder.docx",FileFormat.Docx_2013);
  31.         doc.dispose();
  32.     }
  33. }

单元格边框设置效果:

Java 设置Word表格边框-LMLPHP





09-25 01:33