一、前言
在操作 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);
}
}