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>13.10.6</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 天的临时许可证。
 



 
					



