首页 > 其他分享 >转载:用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法

转载:用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法

时间:2023-05-10 10:57:06浏览次数:58  
标签:控件 poCtrl setValue word office 表格 openCellRC 文档 table

PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。

 

1 应用场景
OA办公中,经常要在文档的指定位置表格,填充后端指定数据。
如word文档中,表格数据     如下表格中

 人员信息

人员信息表

公司名称

部门名称

员工姓名

A公司

开发部

李清

B公司

销售部

张三

 

 


怎么把后端的关键数据,填充到word文档表格中呢?

2 实现方法

 

文档中设置好书签,设置好表格后,通过后端调用pageOffice插件代码就可以实现。

 

3 实现过程

以java的springboot框架为例

1 集成pageOffice
https://www.zhuozhengsoft.com/dowm/

 

 

 

从pageOffice官网
下载页面,找到springboot的集成示例,按照里面的集成明说,可以集成到自己的springboot项目中。

 

 

2 设置数据区域 包含表格

数据区域的技巧
https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/663125

最终效果如图

注意,一定要书签包含整个表格,并且还要包含表格上下一行

 

 

 

 

3 通过代码写入数据

?
12345678910111213141516171819202122232425262728293031323334@RequestMapping(value = "Word", method = RequestMethod.GET)    public ModelAndView showWord(HttpServletRequest request, Map<String, Object> map) {        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);        poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//设置服务页面         WordDocument doc = new WordDocument();        //打开数据区域        DataRegion dataRegion = doc.openDataRegion("PO_regTable");        //打开table,openTable(index)方法中的index代表Word文档中table位置的索引,从1开始        Table 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);        //隐藏菜单栏        poCtrl.setMenubar(false);        //隐藏自定义工具栏        poCtrl.setCustomToolbar(false);         //打开Word文档        poCtrl.webOpen("/doc/WordSetTable/test.doc", OpenModeType.docNormalEdit, "张三");        map.put("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));        ModelAndView mv = new ModelAndView("WordSetTable/Word");        return mv;

  

 

 

通过以上代码,可以将数据库中的

A公司  开发部  李清

B公司 销售部  张三 

写到文档中。

4 代码打开后的效果

5 总结

 

PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。

 

转载:用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法

标签:控件,poCtrl,setValue,word,office,表格,openCellRC,文档,table
From: https://www.cnblogs.com/lhl77/p/17387297.html

相关文章

  • DataGridView控件的显示效率
    C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题。(1)采用virtualmode,不要使用datagridview1.datasource=dt如何使用虚拟模式,参见https://blog.csdn.net/qq_30122639/article/details/53739607和https://bbs.csdn.net/topics/390......
  • 小程序开发中的插件、组件、控件到底有什么区别?
    ​小程序插件代码由一些自定义组件和JS代码文件构成,插件开发者在发布插件时,这些代码被上传到后台保存起来。当小程序使用插件时,使用者需填写插件的AppID和版本号,就可从后台获取相应的插件代码。小程序代码编译时,插件代码会被嵌入到小程序中,与小程序一起编译运行。由于在小......
  • 界面控件DevExtreme使用指南 - 控制折叠操作 & 键盘支持
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。请注意:在开始本教程之前,请确保DevExtreme已安装在Angula......
  • quantumPLC与南京德宏数采仪通讯,citect画面日期时间控件和复选框控件控制趋势交互功能
    这一篇笔记我在新浪博客记录过,在这里也记录一遍,新浪博客地址quantumPLC与南京德宏数采仪通讯,citect画面日期时间控件和复选框控件控制趋势交互功能_来自金沙江的小鱼_新浪博客(sina.com.cn)最近上级管理部门要求在现场生产控制计算机上新建一幅画面,生产关键参数趋势、环保监测数......
  • Office 2019 for Mac v16.74 beta中文版
    office2019BetaforMac带来了许多新功能和改进,例如更加流畅的用户界面、更强大的数据分析功能、更好的协作工具等等。同时,这个版本还提供了更好的性能和稳定性,以及一系列针对Mac用户的特定优化。office2019forMac特点介绍新增功能:带来了许多新的功能和改进,例如更强大的数......
  • Unity Shader Toggle KeywordEnum Enum 使用
    Shader"Unlit/Custom/Shader05"{Properties{_MainTex("MainTex",2D)="white"{}[Toggle]_INVERT("Invertcolor?",Float)=0//_INVERT必须是大写的_Invert不可以[KeywordEnum(None,Add,M......
  • using method 'mysql_native_password' failed with message
    错误消息:Connectionopenerror.Authenticationtohost'10.114.129.206'foruser'root'usingmethod'mysql_native_password'failedwithmessage:Readingfromthestreamhasfailed.DbType="MySql";ConfigId=""......
  • C# 窗体控件ContextMenuStrip下拉项之间的分割线
    1.效果如图: 2.选中ContextMenuStrip控件,在Items属性中添加Separator 3. (其中第3,4步,通过上下箭头,摆置好你要分割的位置)原文链接......
  • Keycloak: Requesting Token with Password Grant
    Keycloak:RequestingTokenwithPasswordGranthttps://www.appsdeveloperblog.com/keycloak-requesting-token-with-password-grant/Inthistutorial,youwilllearnhowtouseaPasswordGrantOAuth2authorizationflowtorequestanAccessTokenandaRefre......
  • 本地Word图文直接复制到富文本编辑器中
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordActionName":"wordupload",/* 执行上传视频的action名称 */    "wordFieldName":"upfile",/* 提交的......