国产系统统信uos和麒麟v10在线打开word给表格赋值

  • 查看本示例演示效果
  • 本示例关键代码的编写位置,请参考"开始 - 快速上手"里您所使用的开发语言框架的最简集成代码

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

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

注意

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

后端代码:

java

java 复制代码
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, "张三");

.NetCore

cs 复制代码
PageOfficeNetCore.PageOfficeCtrl POCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);

PageOfficeNetCore.Word.WordDocumentWriter doc = new PageOfficeNetCore.Word.WordDocumentWriter();
PageOfficeNetCore.Word.DataRegionWriter dataRegion = doc.OpenDataRegion("PO_regTable");
//打开table,OpenTable(index)方法中的index代表Word文档中table位置的索引,从1开始
PageOfficeNetCore.Word.WordTableWriter  table = dataRegion.OpenTable(1);
//给table中的单元格赋值, OpenCellRC(行, 列)
table.OpenCellRC(3, 1).Value = "A公司";
table.OpenCellRC(3, 2).Value = "开发部";
table.OpenCellRC(3, 3).Value = "李清";

table.OpenCellRC(4, 1).Value = "B公司";
table.OpenCellRC(4, 2).Value = "销售部";
table.OpenCellRC(4, 3).Value = "张三";

POCtrl.SetWriter(doc);
POCtrl.WebOpen("doc/test.doc", PageOfficeNetCore.OpenModeType.docNormalEdit, "tom");

效果:

相关推荐
terry60015 小时前
2026企业级携号转网查询标准:论实时数据同步与高并发承载设计
java·大数据·人工智能·json·信息与通信·数据库架构
Volunteer Technology15 小时前
SpringSecurity中的权限管理
java·数据库·servlet
ch.ju15 小时前
Java程序设计(第3版)第四章——继承的调用
java·开发语言
摇滚侠15 小时前
Maven 的 <packaging>pom</packaging> 都有哪些值
java·maven
段ヤシ.16 小时前
回顾Java知识点,面试题汇总Day13:数据库MySQL(持续更新)
java·数据库·mysql
W_LuYi18516 小时前
Tauri + Rust + Vue 3 打造极速轻量桌面应用
java·开发语言·vue.js·rust
123的故事16 小时前
工具分享(2)-NSmartProxy内网穿透工具。
c#·.net·nsmartproxy
小张小张爱学习16 小时前
Java基础面试题
java·开发语言
宋哥转AI16 小时前
Java后端转AI Agent:技术栈全景图与从ReAct到多Agent协作实战
java·人工智能·agent
Mr.Entropy16 小时前
ecplise 导出maven依赖jar
java·maven·jar