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