🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## **动态创建数据区域** WordDocument对象的CreateDataRegion方法是为了实现用程序动态的在Word文档中添加一个数据区域而设计的,使用此方法可以在生成Word文档的时候更灵活,支持更多复杂格式的文件生成。 **CreateDataRegion方法说明:** ~~~ CreateDataRegion(新数据区域名称, 相对已有数据区域的位置, 已有的数据区域名称); ~~~ CreateDataRegion方法只能在模板文件中已有的数据区域之前或之后创建新的数据区域,比如说Word模板中已经存在了一个数据区域:PO_dr1,如果要在此数据区域之前插入一个数据区域PO_dr2,那么ASP.NET的实现方式: ~~~ PageOffice.WordWriter.DataRegion dr2 = doc.CreateDataRegion("PO_dr2", PageOffice.WordWriter.DataRegionInsertType.Before, "PO_dr1"); ~~~ JAVA的实现方式: ~~~ DataRegion dr2 = doc.CreateDataRegion("PO_dr2",DataRegionInsertType.Before, "PO_dr1"); ~~~ 如果要在此数据区域PO_dr1之后插入一个数据区域PO_dr3,ASP.NET的实现方式: ~~~ PageOffice.WordWriter.DataRegion dr3 = doc.CreateDataRegion("PO_dr2", PageOffice.WordWriter.DataRegionInsertType.After, "PO_dr1"); ~~~ JAVA的实现方式: ~~~ DataRegion dr3 = doc.CreateDataRegion("PO_dr3",DataRegionInsertType.After, "PO_dr1"); ~~~ 数据区域创建之后就可以像模板中原有的数据区域一样进行赋值或做其他的操作。 >[danger]注意:一般是文档中已存在的用户已预先定义的数据区域,但是RelativeDataRegionName还可以使用PageOffice开发平台预留的两个特殊数据区域:[HOME]和[END]。 [HOME]和[END]不需用户打开文档手动定义,它们分别代表文档的开始光标位置和结束光标位置。 如果当前文档是空白文档,一个数据区域都不存在,也是可以使用[HOME]和[END]从空白文档生成一个图文并茂的格式文档。例如:在文件的最开始插入一个标题,ASP.NET的实现方式: ~~~ PageOffice.WordWriter.WordDocument doc = new PageOffice.WordWriter.WordDocument(); PageOffice.WordWriter.DataRegion title = doc.CreateDataRegion("PO_title", PageOffice.WordWriter.DataRegionInsertType.After, "[home]"); //给DataRegion对象赋值 title.Value = "某某公司发文 \n"; title.Font.Bold = true; title.Font.Size = 20; title.Font.Name = "黑体"; title.Font.Italic = false; ~~~ JAVA的实现方式: ~~~ WordDocument doc = new WordDocument(); DataRegion title = doc.createDataRegion("PO_title", DataRegionInsertType.After, "[home]"); title.setValue("某某公司发文\n"); title.getFont().setBold(true); title.getFont().setSize(20); title.getFont().setName("黑体"); title.getFont().setItalic(false) ~~~ >[info]详细请参考PageOffice开发包里Samples4中的示例演示: >二、11、在Word中动态创建数据区域(专业版、企业版) >三、7、完全编程实现动态生成Word文件(专业版、企业版)