用pageoffice实现给Word文档中Table赋值

在实际项目涉及到Word文档的开发中,常常会遇到希望自动填充各项数据到Word表格中,动态生成Word文档的需求。比如有一个人员信息表,数据库表已经保存了人员的资料信息,设计好一个人员信息表模板docx,需要要把这些人员信息动态填充到word 表格中。

Word中的table是要借助数据区域(DataRegion)实现的,要求数据区域完整的包含了整个Table的内容,这样才可以通过数据区域控制和操作table。因此,要想使用table,则必须在word文件中插入书签。而table的插入,既可以在Word模版中书签处手动插入:工具栏“插入”→“表格”,亦可以在程序中通过数据区域动态添加。

注意

注:插入书签的时候一定要先选中整个table,然后再点击插入书签按钮进行插入。

用pageoffice实现给Word文档中Table赋值_动态赋值

PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
WordDocumentWriter doc = new WordDocumentWriter();
DataRegionWriter dataRegion = doc.openDataRegion("PO_regTable");
TableWriter table = dataRegion.openTable(1); //index代表当前书签中table位置的索引,从1开始
table.openCellRC(3, 1).setValue("A公司");//openCellRC(行, 列),索引从1开始
table.openCellRC(3, 2).setValue("开发部");
table.openCellRC(3, 3).setValue("李清");
table.openCellRC(4, 1).setValue("B公司");
table.openCellRC(4, 2).setValue("销售部");
table.openCellRC(4, 3).setValue("张三丰");
poCtrl.setWriter(doc);
poCtrl.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");

最终打开文件后显示的效果:

用pageoffice实现给Word文档中Table赋值_在线编辑_02

参考链接: https://www.pageoffice.cn/pages/061d9f/

项目基本pageoffice的步骤: https://www.pageoffice.cn/pages/d83620/

posted @ 2025-07-18 13:14  爱吃苹果皮  阅读(9)  评论(0)    收藏  举报