abap al设置单元格可编辑 oo_利用WPS做业务系统的超级编辑器

本文介绍了如何借助WPS的jsAPI进行文档编辑,包括事前设计文档模板、设置单元格可编辑性以及事后分析文档内容。通过内容控件和表格Names属性,实现了文档与业务系统的双向同步和数据定位。此外,还探讨了智能目录识别在非结构化文档关键内容提取中的应用。
摘要由CSDN通过智能技术生成

业务系统中的数据很笼统的分可以分为两大类,一个是结构化的,通常用关系型数据库来存储管理;一个是非结构化的,在这类数据中,可能最多、价值密度最大的就是文档。如何更便捷高效的生成或分析文档,就是业务系统通常关注的结构化数据生成非结构化的文档,以及非结构化的文档提取为结构化数据。

一般业务系统做这两类事儿的时候,常常会用到POI,这是个利器,可以在服务端不打开文档的情况下,做文档的内容生成和数据提取,但也有不少局限性,例如在设置一些格式上就不够直观和精细,那WPS现在通过jsapi暴露了全能力后,这类场景有哪些「好玩儿」的新姿势呢?今天奉上几个小例子,给大家开阔下思路。


事前设计——「挖空儿」

把文字文件通过模板事前将关键元素(待提取的)做Key-Value设计,常见的方法可通过「书签」、「公文域」、「内容控件」和「自定义XML标签」,这样虽然这还是一篇非结构化数据,但是对于业务系统而言,这已经就是一个「大表单」了,就可以很轻松的对文档中的内容做双向同步了。

下图的Demo就是通过「内容控件」做的,针对内容控件,再通过业务系统将人员信息做结合,即可完成更加丰富的使用场景。例如让某个内容控件只能某些人可编辑、可查看等。

6ee1b126d4c66fe953b0537bbd147bb0.gif

此Demo的托管地址。


事前设计——「打标签」

在表格操作中,一般会有根据后台模板,填充相应的数据到指定的单元格的需求,且该单元格位置无论是否被修改,都能够正确定位到。由于表格中是没有书签的,所以对于单元格的定位且可以使用表格的Names属性,在表格的模板中,可以使用名称管理器来为单元格或者选区添加添加Name属性,也可以通过jsapi中选区或者单元格的Name属性来添加。

下图的Demo就是通过设置单元格的Names来建立与业务系统的关联。

76b97d39aa46c9031bd62cb09186b47e.gif

此Demo的托管地址。


事后分析——「分段」

对于一篇再普通不过的文档,没有书签、公文域、内容控件等,可不可以做分析,当然可以,那就用普通的API做内容提取呗。这个Demo提供的思路就是将文档的文字内容按照段落逐一提取出来,业务系统就能拿到这些数据做分析。当然可以获取的信息还可以更多,包括文档中的各类元素,通过jsapi做操作即可。

e8b8202aba981b8a7094021c1369e398.gif

此Demo的托管地址。


事后分析——「智能目录」

一篇文档的骨架就是目录,但是如果这篇文档没有事前做好目录(标题样式和段落层级),那文档是很难生成目录(TOC域),WPS2019具备「智能目录识别」能力,就是针对这类「无目录文档」,根据内容的特征去猜目录。正确率还是很可以的哟。利用这个功能,其实业务系统是可以对非结构化文字文档做关键内容提取的哟。

323d2cf40c0be39b7f71abc270f4050f.png

此Demo的托管地址。

这只是解锁了几个新姿势,更多的使用场景,欢迎大家持续挖掘,也希望能和我们互动起来哟。

### 回答1: ABAP(Advanced Business Application Programming,高级业务应用程序编程)是用于开发SAP系统的编程语言。ABAP是一种高级语言,可以用来开发SAP系统中的各种程序和应用,如报表、界面、数据处理等。ABAP在SAP系统中具有重要的地位,并且被广泛使用。 ### 回答2: 在ABAP中,单元格编辑指的是在屏幕上显示的表单或报表中的单元格可以进行修改操作。当单元格编辑时,用户可以直接在单元格中输入、修改或删除数据。 在ABAP中,我们可以通过在屏幕元素定义中设置输入/输出属性来实现单元格的可编辑性。具体来说,我们可以使用以下方式来实现单元格编辑功能: 1. 屏幕表格:在屏幕表格中,我们可以使用FIELD关键字来定义可编辑单元格。通过在屏幕表格的相关字段上设置INPUT关键字,可以将相应的单元格设置为可编辑状态。用户可以在这些单元格中输入或修改数据。 2. 面板:在屏幕面板中,我们可以使用INPUT、OUTPUT等关键字来定义可编辑单元格。通过设置INPUT关键字,我们可以将特定字段设置为可供用户输入或修改数据的单元格。 无论是屏幕表格还是面板,我们还可以使用一些逻辑语句来控制单元格的可编辑性。通过在逻辑语句中设置相应的条件,我们可以根据用户的操作或其他因素来动态地控制单元格是否可编辑。 总之,ABAP提供了丰富的功能和灵活性来实现单元格的可编辑性。通过合理设置输入/输出属性、使用逻辑语句等,我们可以满足用户对单元格的输入、修改和删除的需求。 ### 回答3: 在ABAP语言中,单元格是一个用于展示数据的矩形区域。在某些情况下,我们需要允许用户编辑这些单元格的内容。 首先,要允许单元格编辑,我们可以在逻辑层面上设置编辑标识。在使用内表或工作表时,我们可以使用结构内的字段来标识单元格是否可编辑。例如,在一个物料清单中,我们可以添加一个字段来表示物料数量是否可编辑。 其次,我们还可以通过屏幕的布局来设置单元格编辑属性。在屏幕设计中,我们可以选择单元格的输入/输出属性为可编辑。这样,在运行时,用户就可以在这些可编辑单元格中输入或修改数据。 另外,通过使用一些特殊的功能模块或方法,我们也可以动态地控制单元格的可编辑性。例如,我们可以根据特定条件判断某个单元格是否可编辑,然后在合适的时机调用函数模块来更新这些单元格编辑状态。 需要注意的是,在设置单元格编辑性时,我们还应该同时考虑数据的合法性和完整性。为了保证数据的正确性,我们可以对用户输入的数据进行一些必要的校验,例如数据类型检查、范围检查等。 总之,在ABAP中,通过逻辑层面的设置、屏幕布局和特定功能模块等方式,我们可以灵活地实现单元格的可编辑性。这样,用户就能够方便地在单元格中输入和修改数据,提升了程序的交互性和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值