首页 > 系统相关 >国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word文件并提取数据区域中表格

国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word文件并提取数据区域中表格

时间:2024-09-27 15:03:24浏览次数:7  
标签:uos word 服务器端 表格 代码 PageOffice 国产 区域 数据

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

查看本示例演示效果
本示例关键代码的编写位置
Vue+Springboot

注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。

在实际的开发过程中,有时会遇到希望提取Word文档中表格数据保存到服务器的需求,此时可以使用PageOffice提取Word文档数据区域中表格数据的功能。在服务器端创建PageOffice的Word命名空间中的WordDocumentReader对象并获取到DataRegion对象,再调用DataRegion对象的openTable方法就可以获得表格对象,进而获取并处理各个单元格的值,比如保存到数据库。

注意
PageOffice获取Word文档中指定位置的数据,是通过调用PageOffice获取数据区域的功能,实现此目的。在PageOffice的概念里提到的数据区域,本质上就是书签,但是只有“PO_”开头的书签才叫数据区域。

后端代码

在后端编写代码调用webOpen方法以表单提交模式docSubmitForm打开文件,设置数据区域Editing属性为true,并设置接收处理PageOffice客户端控件提交数据的服务器端后台方法为:saveData,用户在线编辑Word文档数据区域中表格数据,点保存时,服务器端后台方法saveData中就可以通过DataRegion对象就可以获取到完整的表格数据。

注意

注意
由于整个数据区域都是可编辑的,数据区域中的表格也是可以编辑的,包括样式、行列等,所以此实现方式对用户的操作有一定的要求,就是让用户不能随便修改表格的结构,行数、列数、合并单元格等操作,否则服务器端获取表格数据的代码就会无法确定每个单元格数据的含义是什么,也就无法做进一步处理。由于整个数据区域都是可编辑的,数据区域中的表格也是可以编辑的,包括样式、行列等,所以此实现方式对用户的操作有一定的要求,就是让用户不能随便修改表格的结构,行数、列数、合并单元格等操作,否则服务器端获取表格数据的代码就会无法确定每个单元格数据的含义是什么,也就无法做进一步处理。

    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);

    WordDocumentWriter wordDoc = new WordDocumentWriter();
    //打开数据区域
    DataRegionWriter dTable = wordDoc.openDataRegion("PO_table");
    //设置数据区域可编辑性
    dTable.setEditing(true);

    poCtrl.setWriter(wordDoc);//此行必须
    poCtrl.setSaveDataPage("saveData");
    //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
    poCtrl.webOpen("D:\\documents\\test.docx", OpenModeType.docSubmitForm, "张三");

在服务器端后台方法saveData中,创建com.zhuozhengsoft.pageoffice.word命名空间中的WordDocumentReader对象,提取数据区域中的图片。

    WordDocumentReader doc = new WordDocumentReader(request, response);
    DataRegionReader dataReg = doc.openDataRegion("PO_table");
    TableReader table = dataReg.openTable(1);
    
    //输出提交的table中的数据。以下代码非必须,仅是为了展示后台获取到的数据。
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    response.getWriter().print("Table Data: <br/><br/>");
    StringBuilder dataStr = new StringBuilder();
    for (int i = 1; i <= table.getRowsCount(); i++) {
        dataStr.append("<div style='width:220px;'>");
        for (int j = 1; j <= table.getColumnsCount(); j++) {
            dataStr.append("<div style='float:left;width:70px;border:1px solid red;'>" + table.openCellRC(i, j).getValue() + "</div>");
        }
        dataStr.append("</div>");
    }
    response.getWriter().print(dataStr.toString());
    //向客户端显示提交的数据
    doc.showPage(300, 300);// 此行代码非必须,仅是为了展示后台获取到的数据。

    doc.close();

参考链接:提取数据区域中表格

标签:uos,word,服务器端,表格,代码,PageOffice,国产,区域,数据
From: https://www.cnblogs.com/qq742655/p/18435737

相关文章

  • 半导体芯片行业的机遇与挑战:市场增长、国产替代及技术革新
    全球半导体市场增长与需求变化:市场规模扩大:根据世界集成电路协会(WICA)的预测,2024年全球半导体市场规模预计将达到6202亿美元,同比增长17%。这主要得益于人工智能、高效能运算需求的爆发式增长,以及智能可穿戴设备、智能家居等新兴消费电子产品的发展。例如,AppleVision等......
  • Github第一Star数的国产免费开源防火墙--雷池社区版初步体验
    前言近期准备搭建一个博客网站,用来存储工作室同学们的学习笔记。服务器准备直接放在公网上,方便大家随时随地的上传和浏览,为了防止网站被人日穿成为肉鸡,一些防御措施还是要部署的。首先明确自己的需求:零成本,效果好,易使用很明显适合我的,就只有开源WAF在经过相关资料的查阅后,我......
  • python在word文档中搜索关键词,复制段落
    目录简介:打开原始word文档创建一个新的文档(存放摘抄内容)搜索关键词复制和粘贴匹配的段落简介:本文示例的流程:打开一个word文档,搜索关键词所在的段落,并将对应段落复制粘贴到新的word文档中,并标记出处文件名和页码。可以用来批量对word文档进行提取。打开原始word文......
  • Flink(二)搭建Maven工程实现WordCount
    开发环境编写WordCountpom文件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=&qu......
  • 我的 WordPress 网站上的 WP API 集成问题 – 寻求建议
    开发社区您好,我一直致力于通过集成多个API来增强我的WordPress网站WPTroubles.com的功能,但我遇到了一些问题,希望得到一些建议:RESTAPI端点响应不一致:我正在使用WPRESTAPI提取某些动态内容的数据,但我注意到某些端点响应不一致。有时它们会返回预期的数据,而有时它们会超......
  • 学习技巧: word文档中写论文会需要的技巧
    之前经常给大家分享办公技巧,今天想给大学生朋友分享一些写论文时候会用到的技巧。技巧一:图片、表格编号及引用论文中少不了图片、表格,而且还需要进行编号,如果我们纯靠自己手动输入,我们需要调节位置还有字体大小什么的,但是我们可以自动编号。方法如下:首先我们先插入图片,右键......
  • 宝塔面板WordPress建站教程:海外服务器选择与详细安装步骤
     一、什么是宝塔面板?宝塔面板(BTPanel)是一款简单易用的服务器管理工具,适合那些不熟悉命令行操作的用户。它允许你通过一个图形化界面轻松管理服务器和网站,尤其适合新手用户快速搭建像WordPress这样的网站。二、准备工作选择服务器与域名搭建网站的第一步是选择合适的服务器......
  • Word2vec的应用
    目录1.分词2.模型训练 3.可视化 4.知识点个人理解pipinstallgensim-ihttps://pypi.tuna.tsinghua.edu.cn/simple#若在jupyternotebook中安装:!pipinstallgensim-ihttps://pypi.tuna.tsinghua.edu.cn/simple#导包importjiebaimportreimportnumpya......
  • # 使用VBA删除Word文档最后一页的空白页
    使用VBA删除Word文档最后一页的空白页本教程将指导您如何使用VBA(VisualBasicforApplications)删除MicrosoftWord文档最后一页的空白页。详细代码使用流程参照上一篇博客增加空白页,替换代码部分即可步骤打开Word文档打开包含要删除的空白页的Word文档。打开Visual......
  • 腾讯通RTX手机版解决方案:兼容Linux内核信创国产操作系统
    一、腾讯通RTX继续使用的核心痛点自从腾讯通RTX停止更新和官网下架以来,用户面临了一系列无法忽视的关键问题,这些问题严重影响了正常的工作流程:国产系统与移动端不可用:腾讯通RTX目前仅支持Windows和Mac系统,导致用户在国产操作系统及移动设备上无法使用,这不仅影响工作效率,还未能符合......