欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 国产linux系统(银河麒麟,统信uos)使用 PageOffice实现word 文档中的table插入新行并赋值

国产linux系统(银河麒麟,统信uos)使用 PageOffice实现word 文档中的table插入新行并赋值

2025/9/23 12:59:07 来源:https://blog.csdn.net/wqqqianqian/article/details/148581452  浏览:    关键词:国产linux系统(银河麒麟,统信uos)使用 PageOffice实现word 文档中的table插入新行并赋值

PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(Mips、LoogArch)芯片架构。

  • 查看本示例演示效果

在项目的开发中会遇到这样的需求:要求在生成word文件的时候,需要给表格赋值,但是表格行数不固定,需要根据数据库中的数据记录实现数据填充。通过调用PageOffice动态添加行的功能,就可以实现此需求。

比如一个下图所示的Word表格文件:
在这里插入图片描述
使用本文“后端代码”对表格做数据填充后的效果如下图所示:
在这里插入图片描述

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

后端代码

    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);WordDocumentWriter doc = new WordDocumentWriter();//打开数据区域DataRegionWriter dataRegion = doc.openDataRegion("PO_regTable");//打开table,openTable(index)方法中的index代表Word文档中table位置的索引,从1开始TableWriter table = dataRegion.openTable(1);//给table中的单元格赋值, openCellRC(int,int)中的参数分别代表第几行、第几列,从1开始table.openCellRC(3, 1).setValue("A公司");table.openCellRC(3, 2).setValue("开发部");table.openCellRC(3, 3).setValue("李清");//插入一行,insertRowAfter方法中的参数代表在哪个单元格下面插入一个空行table.insertRowAfter(table.openCellRC(3, 3));table.openCellRC(4, 1).setValue("B公司");table.openCellRC(4, 2).setValue("销售部");table.openCellRC(4, 3).setValue("张三");poCtrl.setWriter(doc);//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式poCtrl.webOpen("D:\\template1.docx", OpenModeType.docNormalEdit, "张三");

参考链接:https://pageoffice.cn/pages/9fa856/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词