报表文件处理方法和装置的制造方法_2

文档序号:9597878阅读:来源:国知局
中当前用户不能修改的单元格数据时,则阻止对Excel表格中不能修改的单元格数据的修改,同时可弹出不允许修改的提示信息。
[0030]步骤108,获取Excel根据刷新后的Excel表格中的数据内容构建的第三报表对象,根据第三报表对象调用服务端保存接口实现对刷新后的Excel文件的保存。
[0031]本实施例中,在当前用户处理完Excel表格后,需要对其进行保存。当Excel获取到当前用户的保存操作指令后,则响应该指令,生成根据刷新后的Excel表格中的数据内容构建的第三报表对象,并将第三报表对象发送给ERP客户端。具体的,该第三报表对象中包含了对Excel表格内容的保存信息。ERP客户端在获取到该第三报表对象后,对其解析,得到保存Excel文件的信息。并根据该保存Excel文件的信息调用ERP服务端保存接口,实现对刷新后的Excel文件的保存。同样的,ERP客户端可采用RPC协议调用ERP服务端的保存接口实现对刷新后的Excel文件的保存。
[0032]本实施例中,通过上述步骤,使ERP客户端能够与Excel和ERP服务端交互,在线实现对报表文件的复杂处理,如在线实现对报表文件的多样化图表分析以及多工作表单元格数据相互引用,弥补了 ERP系统对数据处理的不足。
[0033]在一个实施例中,如图2所示,在客户端中打开Excel文件的步骤,包括:
[0034]步骤202,与Excel建立通信连接。
[0035]本实施例中,当ERP客户端获取到当前用户选取以Excel打开待处理报表文件的操作指令后,则启动通信线程,与Excel建立通信。ERP客户端与Excel的通信方式可米用 HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议、TCP (Transmiss1nControl Protocol,输控制协议)协议、UDP (User Datagram Protocol,用户数据报协议)协议等。当关闭Excel时,该通信线程也同时结束。
[0036]步骤204,调用第三方类库打开Excel文件和Excel模板文件。
[0037]具体的,可采用Jacob方式打开Excel文件。第三方类库可为存储在ERP服务端上的数据库,该数据库中存储有Excel文件和Excel模板文件。其中,该Excel模板文件为ERP客户端预设的一种带宏的Excel模板文件。Excel模板文件中的宏为实现单一功能或复杂功能的 VBA(Visual Basic for Applicat1ns,Visual Basic 宏语言)代码的集合。该Excel模板文件能使ERP客户端与Excel实现交互,即可以在Excel中对导入待处理报表文件做计算和保存等操作。
[0038]进一步的,开发人员可以对ExceI模板文件进行更新升级,使得ERP客户端可以通过更新升级后的Excel模板文件实现与Excel更多或更快捷的交互。因此,在一个实施例中,还可以在调用第三方类库打开Excel文件和Excel模板文件的步骤之后,检查Excel模板文件是否是最新的Excel模板文件。若是,则更新Excel模板文件;否则,无需更新Excel模板文件。
[0039]步骤206,调用客户端初始化接口实现对Excel的初始化。
[0040]本实施例中,Excel模板文件可以HTTP通信方式向ERP客户端发起初始化Excel请求。同样的,可采用与第一报表对象相同的数据格式与ERP客户端进行通信,例如,可采用JSON字符串格式传递初始化Excel请求信息。ERP客户端接收该Excel模板文件发送的JSON字符串,并对其解析,获取初始化Excel请求。再调用ERP客户端初始化接口实现对Excel的初始化,具体的,可采用反射的方式来调用ERP客户端初始化接口。
[0041]本实施例中,通过与Excel建立通信连接;调用第三方类库打开Excel文件和带宏的Excel模板;调用客户端初始化接口实现对Excel的初始化。使得ERP客户端可以实现与Excel的交互,并能够利用Excel的强大数据分析和计算的能力,在Excel中实现对导入待处理报表文件做计算和保存等操作。
[0042]在一个实施例中,根据第一报表对象调用服务端计算接口实现对Excel表格的计算的步骤,包括:检查第一报表对象涉及到的计算数据是否是最新的数据,若不是,则刷新第一报表对象涉及到的计算数据,根据刷新后的计算数据实现对Excel表格的计算。
[0043]本实施例中,由于会出现当前用户进行编辑的待处理报表文件也是其它用户正在编辑的同一个文件的情况。其它用户可能在当前用户完成对待处理报表文件的计算之前已经更新了该待处理报表文件中的数据,即可能对第一报表对象涉及到的计算数据做了更新。
[0044]因此,还需要检查第一报表对象涉及到的计算数据是否是最新的数据。即检查该Excel表格中涉及到的计算数据与ERP服务端的数据库中所存储的待处理报表文件对应的数据是否相同。若不相同,则说明第一报表对象涉及到的计算数据不是最新的数据,此时,刷新第一报表对象涉及到的计算数据,根据刷新后的计算数据实现对Excel表格的计算。若相同,则无需刷新第一报表对象涉及到的计算数据,直接根据第一报表对象中的计算数据实现对Excel表格的计算。
[0045]本实施例中,通过检查第一报表对象涉及到的计算数据是否是最新的数据,若不是,则刷新所述第一报表对象涉及到的计算数据,根据刷新后的计算数据实现对所述Excel表格的计算。使得ERP客户端能够对待处理报表文件进行有效的实时在线计算。
[0046]在一个实施例中,在根据第三报表对象调用服务端保存接口实现对刷新后的Excel文件的保存的步骤之后,包括:将保存结果转化成第四报表对象发送给Excel。
[0047]本实施例中,ERP客户端在完成对对刷新后的Excel文件的保存后,还根据该保存结果构建一个第四报表对象,并将该第四报表对象发送给Excel。如该第四报表对象包含对该Excel文件的保存成功或保存不成功的信息。Excel通过接收该第四报表对象,并对其解析,得到对该Excel文件的具体保存结果,从而使得当前用户能够知道对待处理报表文件的保存是否成功。
[0048]在一个实施例中,第一报表对象、第二报表对象、第三报表对象、第四报表对象均为JS0N格式的字符串。
[0049]采用JS0N格式的字符串进行数据交换,不仅易于解析和生成,同时也使得ERP客户端与Excel、ERP服务端之间的交互更加便捷。
[0050]在一个实施例中,如图3所示,提供了一种报表文件处理方法,该方法以在EAS应用环境为例进行说明。具体包括如下步骤:
[0051]步骤302,打开Excel文件。
[0052]当EAS客户端获取到当前用户选择以Excel打开待处理报表文件的操作指令后,EAS客户端启动Excel进程,与Excel建立通信连接。打开预设的Excel模板文件以实现EAS客户端和Excel的交互,并以Jacob方式打开Excel文件。
[0053]步骤304,将待处理报表文件中的数据导出到Excel表格中。
[0054]待处理报表文件存储于EAS服务端的数据库中,并可被EAS客户端访问。EAS客户端将待处理报表文件中的数据导出到所打开的Excel文件的Excel表格中。待处理报表文件的数据包括待处理报表文件的报表属性、单元格数据、单元格格式、图片、取数公式、报表项目公式、基准点信息、动态罗列表信息等。
[0055]步骤306,构建第一 JS0N字符串。
[0056]Excel根据所获取的当前用户对Excel表格的操作行为构建第一 JS0N字符串。该第一 JS0N字符串中包含了当前用户操作行为所涉及到的所有Excel表格数据,如包含对Excel表格中单元格值的修改、对Excel表格进行多样化的图表分析或对Excel表格中工作表单元格数据的相互引用、计算等信息。并通过Excel模板文件向EAS客户端发送HTTP请求,将所构建的第一 JS0N字符串发送给EAS客户端。
[0057]步骤308,获取第一 JS0N字符串。
[0058]EAS客户端接收Excel发送的第一 JS0N字符串,并对其进行解析,获取到对该Excel表格的计算信息。
[0059]步骤310,调用EAS服务端计算端口。
[0060]EAS客户端根据该计算信息调用EAS客户端计算接口,通过EAS客户端计算接口在调用EAS服务端计算端口,在EAS服务端完成对该Excel表格中所涉及到的数据的计算。
[0061]步骤312,返回计算结果。
[0062]EAS服务端将完成的计算结果返回给EAS客户端。
[0063]步骤314,根据返回的计算结果构建第二 JS0N字符串。
[0064]EAS客户端在获取到EAS
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1