pageoffice6提取word指定位置(数据区域)的值
在实际的开发过程中,经常会遇到提取Word文档中指定位置的数据保存到数据库中的需求,PageOffice客户端控件即支持在线保存Word文件,也支持Word文档中的指定位置的数据或所有的数据提交到服务器端。在服务器端创建PageOffice的WordReader命名空间中的WordDocument对象,就可以获取到Word指定的数据。
注意
PageOffice获取Word文档中指定位置的数据,是通过调用PageOffice获取数据区域的功能,实现此目的。在PageOffice的概念里提到的数据区域,本质上就是书签,但是只有“PO_”开头的书签才叫数据区域。
后端代码
在后端编写代码调用webOpen方法以表单提交模式docSubmitForm打开文件。
设置接收处理PageOffice客户端控件提交数据的服务器端后台方法为:saveData
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
WordDocument wordDoc = new WordDocument();
//打开数据区域,openDataRegion方法的参数代表Word文档中的书签名称
DataRegion dataRegion1 = wordDoc.openDataRegion("PO_userName");
//设置DataRegion的可编辑性
dataRegion1.setEditing(true);
//为DataRegion赋值,此处的值可在页面中打开Word文档后自己进行修改
dataRegion1.setValue("");
DataRegion dataRegion2 = wordDoc.openDataRegion("PO_deptName");
dataRegion2.setEditing(true);
dataRegion2.setValue("");
poCtrl.setWriter(wordDoc);//此行必须
poCtrl.setSaveDataPage("saveData");//此行必须
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
//查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
poCtrl.webOpen("D:\\documents\\test.docx", OpenModeType.docSubmitForm, "张三");
在服务器端后台方法saveData中,创建com.zhuozhengsoft.pageoffice.wordreader命名空间中的对象,提取各数据区域的数据。您可以在此方法中编写代码,把获取到的数据保存到对应的数据库表中。
WordDocument doc = new WordDocument(request, response);
//获取提交的数值
DataRegion dataUserName = doc.openDataRegion("PO_userName");
DataRegion dataDeptName = doc.openDataRegion("PO_deptName");
String content = "";
content += "员工姓名:" + dataUserName.getValue();
content += "部门名称:" + dataDeptName.getValue();
System.out.println("获取的数据 " + content);// 此处只是为了展示一下后台获取到的数据
doc.close();
参考链接:提取数据区域中文本
pageoffice6提取word指定位置(数据区域)的值的更多相关文章
- 在Word指定位置插入富文本域值(html文本)
遇到此问题,首先想到的就是各种百度.结果度娘了一会并没有发现有用的有效的解决方法,哎,看来还得靠自己啊. 首先整理了下手头上的资源,一是HtmlAgilityPack,专门解析Html文本用的:二是我 ...
- [转载]JAVA获取word表格中数据的方案
上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两个相对最佳的方案,因为也得到了不少网友们的帮助,所以不敢独自享用,在此做一个分享. 两个方案分别是: ...
- [原创]JAVA获取word表格中数据的方案
上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两个相对最佳的方案,因为也得到了不少网友们的帮助,所以不敢独自享用,在此做一个分享. 两个方案分别是: ...
- Java 替换word文档文字,指定位置插入图片
先说下 需要的依赖包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ex ...
- java 提取目录下所有子目录的文件到指定位置
package folder; import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExcept ...
- JqGrid把数据行插入指定位置的方法addRowData
1.首页在colModel里写好方法,如下代码options.rowId是获取当前行的编号 { label: '操作', width: 60, align: 'center', formatter: ...
- js 给json添加新的字段,或者添加一组数据,在JS数组指定位置删除、插入、替换元素
JS定义了一个json数据var test={name:"name",age:"12"};需要给test再添加一个字段,需要什么办法,可以让test的值为{na ...
- java POI往word文档中指定位置插入表格
1.Service demo import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.a ...
- 【转载】C#中使用List集合的Insert方法在指定位置插入数据
在C#的List集合等数据类型变量中,我们可以使用List集合的Insert方法在指定的索引位置插入一个新数据,例如指定在List集合的第一个位置写入一个新数据或者在List集合的中间某个位置插入个新 ...
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
随机推荐
- 深究可见性,原子性,有序性的解决方案之volatile源码解析
上节java内存模型(jmm)概念初探大致了解了由于cpu的快速发展,导致的越来越复杂的内存模型诞生,java内存模型相当于是底层内存模型的映射(实际并不是一一映射,但可以借鉴理解),也是衍生出并发三 ...
- 黑客终端qsnctfwp
进入网页,发现是网页版的 cmd (/doge) 输入ls发现输出了以下内容 按 F12 检查代码,在<script>中发现输入命令为cat /flag则可获得 flag 此时即可直接复制 ...
- 国庆的一些blog 书写
前言 国庆估计出不去了,所以吧,把文档准备下. 正文 1.docker 微服务,整理微软开源shop框架. 2.rpa 这个东西,我第一次接触是因为android测试的时候,每次修改代码,都需要全部测 ...
- Faiss 向量库编译安装
Faiss 是 Facebook 开源的一套高效相似性搜索以及向量聚类的开发库,支持各类相似性搜索的算法,Faiss 项目本身是使用 C++ 编写的,但是提供 Python 的绑定,可以直接使用 nu ...
- 《C# in depth》第2章C#2.0中的更改(十五)——字面量
一.概念 在计算机编程中,Literals(字面量)是指在程序中直接表示数据的一种方式.它们是在代码中出现的固定值,与变量不同,它们没有名称或标识符. Literals 可以用于各种数据类型,包括整数 ...
- 【NOIP2013模拟联考8】匹配(match) 题解
B 组都说看不懂--我也解释不清啊--只能写这么详细了 其实就是道板题 省流:f[i][s][j]表示字符串长度i,匹配情况s,ac自动机节点j Problem Description 给定k个字符串 ...
- Spring 源码阅读(二)IoC 容器初始化以及 BeanFactory 创建和 BeanDefinition 加载过程
相关代码提交记录:https://github.com/linweiwang/spring-framework-5.3.33 IoC 容器三种启动方式 XML JavaSE: ApplicationC ...
- 【笔记】Java相关大杂烩①
[笔记]Java相关大杂烩 Java 程序的执行流程是? *.java 文件-->*.class 文件-->类装载器-->字节码校验器-->解释器-->操作系统平台 Ja ...
- 力扣165(java)-比较版本号(中等)
题目: 给你两个版本号 version1 和 version2 ,请你比较它们. 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接.每个修订号由 多位数字 组成,可能包含 前导零 .每个版本 ...
- Fury:一个基于JIT动态编译的高性能多语言原生序列化框架
简介: Fury是一个基于JIT动态编译的多语言原生序列化框架,支持Java/Python/Golang/C++等语言,提供全自动的对象多语言/跨语言序列化能力,以及相比于别的框架最高20~200倍的 ...