[发明专利]一种生成二维表格的方法、装置、设备及可读介质在审
申请号: | 202110838341.6 | 申请日: | 2021-07-23 |
公开(公告)号: | CN113486640A | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 张悦;徐基法 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F40/18 | 分类号: | G06F40/18 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;杨帆 |
地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 二维 表格 方法 装置 设备 可读 介质 | ||
本发明提供了一种生成二维表格的方法、装置、设备及可读介质,该方法包括:创建表格,为表格的表头设置属性值并将表格中计算需要的固定值填入表格中;定义map,将表格外的需要参与表格计算的参数值存储到map中并将表格中计算需要的固定值存储到map中;为表格中的单元格定义计算公式,计算公式使用map中存储的参数作为入参进行计算。通过使用本发明的方案,能够使用表格外的数据参与运算,能够支持三目运算等较复杂的公式规则。
技术领域
本领域涉及计算机领域,并且更具体地涉及一种生成二维表格的方法、装置、设备及可读介质。
背景技术
在电子表格的公式计算领域,常涉及到单元格值的计算和填充。有些值是动态填入的,有些值是常量,有些值是根据定义的公式进行计算得到的。这就涉及到了单元格属性的定义,公式的定义和公式解析。当计算公式中的参数超出了表格已有数据范围时,传统的类似于Excel的计算方式便不再适用。而且在java语言中,一般借助Math类进行计算,无法直接运行符号化的公式。
现有电子表格的计算方法一是Excel的方式,通过定义单元格与单元格之间的计算公式,填充某单元格的计算值。另一种改进的方法是通过定义某行或某列与其他单元格关系的公式,来批量定义单元格。采用以上两种方案计算单元格的值,局限在表格本身范围中,无法动态获取表格以外的值参与单元格的计算。
发明内容
有鉴于此,本发明实施例的目的在于提出一种生成二维表格的方法、装置、设备及可读介质,通过使用本发明的技术方案,能够使用表格外的数据参与运算,能够支持三目运算等较复杂的公式规则。
基于上述目的,本发明的实施例的一个方面提供了一种生成二维表格的方法,包括以下步骤:
创建表格,为表格的表头设置属性值并将表格中计算需要的固定值填入表格中;
定义map,将表格外的需要参与表格计算的参数值存储到map中并将表格中计算需要的固定值存储到map中;
为表格中的单元格定义计算公式,计算公式使用map中存储的参数作为入参进行计算。
根据本发明的一个实施例,创建表格,为表格的表头设置属性值并将表格中计算需要的固定值填入表格中包括:
判断表头的属性值是固定值还是计算值;
响应于表头的属性值是固定值,将固定值写入表头指定位置;
响应于表头的属性值是计算值,使用JS(是一种具有函数优先的轻量级,解释型或即时编译型的编程语言)脚本在表头的设定位置定义计算公式。
根据本发明的一个实施例,为表格中的单元格定义计算公式,计算公式使用map中存储的参数作为入参进行计算包括:
获取表格中需要参与计算的单元格位置,在获取到的单元格位置对应的后台中使用JS脚本定义计算公式。
根据本发明的一个实施例,还包括:
使用JS引擎ScriptEngine(Java中执行js语句的引擎类)来执行JS脚本定义的计算公式。
根据本发明的一个实施例,表格的格式为HTML格式。
本发明的实施例的另一个方面,还提供了一种生成二维表格的装置,装置包括:
创建模块,创建模块配置为创建表格,为表格的表头设置属性值并将表格中计算需要的固定值填入表格中;
定义模块,定义模块配置为定义map,将表格外的需要参与表格计算的参数值存储到map中并将表格中计算需要的固定值存储到map中;
计算模块,计算模块配置为为表格中的单元格定义计算公式,计算公式使用map中存储的参数作为入参进行计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110838341.6/2.html,转载请声明来源钻瓜专利网。