给文本框中的数据区域赋值
# 给文本框中的数据区域赋值
- 查看本示例演示效果(Windows版)
- 查看本示例演示效果(国产版)
- 本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
一般来说,直接给Word文档中的数据区域赋值就可以满足大部分动态生成文档的需求了,但是个别情况下,文档中需要动态填充内容的位置不在正文中,而是在页边的空白处,遇到此类情况都可以在文档的页边空白处添加一个文本框,在文本框中添加数据区域,然后编程打开文档并给文本框中的数据区域赋值即可。虽然数据区域在文本框中,但给数据区域赋值的代码与普通数据区域一样,无需做特殊处理。
首先,编辑Word模板,即在Word文档中添加书签。在D盘根目录下新建Word文件,比如:D:\template4.docx,打开文件在文档的页边空白处添加一个文本框,在文本框中输入“[用户名]”,用光标选中“[用户名]”,然后点击Word菜单中的“插入”-“书签”,就会弹出一个标题为“书签”的对话框(如下图所示),输入新书签的名称,注意:书签名必须以“PO_”开头,并由字母和数字组成,但中间不能有空格。点右侧的“添加”按钮,新的书签名将出现在下面的列表中。建议按照上面的说明自己手动创建template4.docx并设置书签。

注意
在使用PageOffice开发的过程中,为了避免出现与用户自己定义的书签出现冲突,要求插入的书签名称必须以“PO_”开头。注意是字母o,不是数字0。在PageOffice的概念里提到的数据区域,本质上就是书签,但是只有“PO_”开头的书签才叫数据区域。
然后,编写代码打开template4.docx文件,并动态填充数据。
# 后端代码
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
WordDocumentWriter doc = new WordDocumentWriter();
DataRegionWriter dataRegion1 = doc.openDataRegion("PO_UserName");//打开数据区域"PO_UserName"
dataRegion1.setValue("张三");//给数据区域赋值
poCtrl.setWriter(doc); // 必须。
poCtrl.webOpen("D:\\template4.docx", OpenModeType.docNormalEdit, "张佚名");
PageOfficeNetCore.PageOfficeCtrl poCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
PageOfficeNetCore.Word.WordDocumentWriter wordDoc = new PageOfficeNetCore.Word.WordDocumentWriter();
wordDoc.OpenDataRegion("PO_UserName").Value = "张三";
poCtrl.SetWriter(wordDoc);// 注意不要忘记此代码,如果缺少此句代码,不会赋值成功。
poCtrl.WebOpen("D:\\template4.docx", PageOfficeNetCore.OpenModeType.docNormalEdit, "tom");
// Make sure to add code blocks to your code group
# 前端代码
本示例无前端关键代码。
上次更新: 2025/07/21, 15:21:36