一、前言

在操作Word文档过程中常常会遇到一些内容须要多处呈现的状况。如果应用查找+替换的办法来实现更新,尽管能够满足根本须要,但不够便捷,不够精确。此时可通过援用“变量”的办法来实现一处批改,多处主动同步更新的成果。本文就将应用Java程序来增加、计数、检索和删除Word文档变量。

二、环境构建

应用工具:Free Spire.Doc for Java (免费版)

Jar包获取及导入:

形式一:通过官网下载获取Free Spire.Doc for Java,解压后将lib文件夹下的Spire.Doc.jar手动导入Java程序。

形式二:通过maven仓库装置产品及导入相干依赖包。

三、代码演示

示例1 增加文档变量
import com.spire.doc.Document;import com.spire.doc.FieldType;import com.spire.doc.FileFormat;import com.spire.doc.Section;import com.spire.doc.documents.Paragraph;public class AddVariables {    public static void main(String[] args) {        //创立Document实例        Document document = new Document();        //增加节        Section section = document.addSection();        //增加段落        Paragraph paragraph = section.addParagraph();        //增加DocVariable域        paragraph.appendField("A1", FieldType.Field_Doc_Variable);        //增加文档变量到DocVariable域        document.getVariables().add("A1", "19");        //更新域        document.isUpdateFields(true);        //保存文档        document.saveToFile("output/AddVariables.docx", FileFormat.Docx_2013);    }}

示例2 计算文档变量的个数
import com.spire.doc.Document;public class Count {    public static void main(String[] args) {        //加载Word文档        Document document = new Document();        document.loadFromFile("C:\\Users\\Test1\\Desktop\\AddVariables.docx");        //获取文档变量的个数        int number = document.getVariables().getCount();        StringBuilder content = new StringBuilder();        content.append("文档变量的个数为: " + number);        System.out.println(content.toString());    }}

示例3 检索文档变量的名称和值
import com.spire.doc.Document;public class GetValueAndName {    public static void main(String[] args) {        //加载Word文档        Document document = new Document();        document.loadFromFile("C:\\Users\\Test1\\Desktop\\AddVariables.docx");        //应用索引检索变量的名称        String s1 = document.getVariables().getNameByIndex(0);        //应用索引检索变量的值        String s2 = document.getVariables().getValueByIndex(0);        //应用变量名称检索变量的值        String s3 = document.getVariables().get("A1");        System.out.println("索引为0的变量的名称为: " + s1);        System.out.println("索引为0的变量的值为: " + s2);        System.out.println("名称为\"A1\"的变量的值为: " + s3);    }}

示例4 删除指定文档变量
import com.spire.doc.Document;import com.spire.doc.FileFormat;public class RemoveVariables {    public static void main(String[] args) {        //加载Word文档        Document document = new Document();        document.loadFromFile("C:\\Users\\Test1\\Desktop\\AddVariables.docx");        //删除名为“A1”的指定文档变量        document.getVariables().remove("A1");        //更新域        document.isUpdateFields (true);        //保存文档        document.saveToFile("output/RemoveVariables.docx", FileFormat.Docx_2013);    }}