Word 文档中的变量是一种域,其特点是能够便捷、精确地对文本进行管理,如替换文本、删除文本等操作。与查找替换功能相比,通过给变量赋值的方式来替换文本通常更快捷,且不容易出错。本文将介绍如何使用 Spire.Doc for Java 通过程序在 Word 文档中添加或更改变量。
安装 Spire.Doc for Java
首先,您需要在 Java 程序中添加 Spire.Doc.jar 文件作为依赖项。您可以从此链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>12.9.4</version>
</dependency>
</dependencies>
插入变量到 Word 文档
由于 Word 文档中的变量是域的一种,我们可以直接使用插入域的 Paragraph.appendField(String fieldName, FieldType.Field_Doc_Variable) 方法来插入变量到 Word 文档中,然后再使用 VariableCollection.add() 方法来给变量赋值。需要注意的是,在给变量赋值后,还需要更新文档中的域,赋的值才会在打开 Word 文档时显示出来。插入变量的详细操作步骤如下:
- 创建 Document 的对象。
- 使用 Document.addSection() 方法在文档中添加一个节。
- 使用 Section.addParagraph() 方法在该节中添加一个段落。
- 使用 Paragraph.appendField(String fieldName, FieldType.Field_Doc_Variable) 方法在段落中添加变量域。
- 使用 Document.getVariables() 方法获取变量集合。
- 使用 VariableCollection.add() 方法给变量赋值。
- 使用 Document.isUpdateFields() 方法更新文档中的域。
- 使用 Document.saveToFile() 方法保存文档。
- Java
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.formatting.CharacterFormat;
public class AddVariables {
public static void main(String[] args) {
//创建Document
Document document = new Document();
//添加一个节
Section section = document.addSection();
//添加一个段落
Paragraph paragraph = section.addParagraph();
//设置文本格式
CharacterFormat characterFormat = paragraph.getStyle().getCharacterFormat();
characterFormat.setFontName("微软雅黑");
characterFormat.setFontSize(14);
//设置页边距
section.getPageSetup().getMargins().setTop(80f);
//添加变量到段落
paragraph.appendField("物理量", FieldType.Field_Doc_Variable);
paragraph.appendText("是物质的永恒运动、变化的持续性、顺序性的表现,包含时刻和时段两个概念。\r\n");
paragraph.appendField("物理量", FieldType.Field_Doc_Variable);
paragraph.appendText("是人类用以描述物质运动过程或事件发生过程的一个参数,确定");
paragraph.appendField("物理量", FieldType.Field_Doc_Variable);
paragraph.appendText(",是靠不受外界影响的物质周期变化的规律。");
//获取变量集合
VariableCollection variableCollection = document.getVariables();
//给添加的变量赋值
variableCollection.add("物理量", "时间");
//更新文档中的域
document.isUpdateFields(true);
//保存文档
document.saveToFile("添加变量.docx", FileFormat.Auto);
document.dispose();
}
}
更改 Word 文档中变量的值
Spire.Doc for Java 提供的 VariableCollection.set() 可以更改指定变量的值。而在更改变量的值后,只需要更新文档中的域,文档中的所有此变量就会显示新的值,从而实现快速精确地替换的文本。以下是详细操作步骤:
- 创建 Document 的对象。
- 使用 Document.loaFromFile() 方法载入 Word 文档。
- 使用 Document.getVariables() 方法获取变量集合。
- 使用 VariableCollection.set() 方法,通过其的名字给特定的变量分配一个新的值。
- 使用 Document.isUpdateFields() 方法更新文档中的域。
- 使用 Document.saveToFile() 方法保存文档。
- Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.VariableCollection;
public class ChangeVariableValue {
public static void main(String[] args) {
//创建Document的对象
Document document = new Document();
//载入Word文档
document.loadFromFile("添加变量.docx");
//获取变量集合
VariableCollection variableCollection = document.getVariables();
//给指定变量分配一个新的值
variableCollection.set("物理量", "Time");
//更新文档中的域
document.isUpdateFields(true);
//保存文档
document.saveToFile("更改变量.docx", FileFormat.Auto);
document.dispose();
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。