Java 添加、计数、检索和删除Word文档变量

一、前言

在操作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);
    }
}

Java 添加、计数、检索和删除Word文档变量_第1张图片

示例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());
    }
}

Java 添加、计数、检索和删除Word文档变量_第2张图片

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

Java 添加、计数、检索和删除Word文档变量_第3张图片

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

你可能感兴趣的:(java,word,变量)