CN107688456A - 文件生成方法、设备以及计算机可读存储介质 - Google Patents

文件生成方法、设备以及计算机可读存储介质 Download PDF

Info

Publication number
CN107688456A
CN107688456A CN201710319543.3A CN201710319543A CN107688456A CN 107688456 A CN107688456 A CN 107688456A CN 201710319543 A CN201710319543 A CN 201710319543A CN 107688456 A CN107688456 A CN 107688456A
Authority
CN
China
Prior art keywords
row data
file
preset
preset table
framework
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710319543.3A
Other languages
English (en)
Other versions
CN107688456B (zh
Inventor
丁志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201710319543.3A priority Critical patent/CN107688456B/zh
Priority to PCT/CN2017/112009 priority patent/WO2018201697A1/zh
Publication of CN107688456A publication Critical patent/CN107688456A/zh
Application granted granted Critical
Publication of CN107688456B publication Critical patent/CN107688456B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件生成方法、设备以及计算机可读存储介质,该方法包括步骤:当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。本发明实现了通过预设类型清单下载框架生成对应的文件,该文件可支持xls或xlsx格式,即实现了支持所生成文件多样化。

Description

文件生成方法、设备以及计算机可读存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种文件生成方法、设备以及计算机可读存储介质。
背景技术
现有的清单下载框架是基于开放源码函式库poi的,以DOM(Document ObjectModel,文档对象模型)模型为核心的清单下载框架。在使用该种清单下载框架过程中,每次都需要开发人员以代码形式编写清单下载框架对应的模板文件,并通过该模板文件生成对应文件,但是由于以DOM模型为核心的下载框架对应模板文件不支持xls或xlsx格式,因此最终生成的文件的格式不能为xls或xlsx格式。
发明内容
本发明的主要目的在于提供一种文件生成方法、设备以及计算机可读存储介质,旨在解决以DOM模型为核心的清单下载框架所生成的文件不支持xls或xlsx格式的技术问题。
为实现上述目的,本发明提供一种文件生成方法,所述文件生成方法包括步骤:
当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;
根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;
若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。
优选地,所述生成预设结构的第一行数据的步骤包括:
从数据库中获取第二行数据;
确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系;
基于所述第二行数据,根据所述对应关系生成map结构的第一行数据。
优选地,所述根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中的步骤包括:
根据所述配置信息创建Excel表格,并将map结构的第一行数据以流形式写入所述Excel表格中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤包括:
若所述行数据满足所述Excel表格的条件,则生成与所述Excel表格对应Excel文件的sheet页头部和内容,并根据所述第一行数据的大小确定是否需要换页,以生成Excel文件。
优选地,所述确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系的步骤之前,还包括:
将所述第二行数据存储至Java虚拟机中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之后,还包括:
删除所述Java虚拟机所存储的所述第二行数据。
优选地,所述清单下载框架对应的模板文件包括头文件模板、内容头模板和内容体模板。
优选地,所述当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息的步骤包括:
当侦测到业务系统的启动指令时,加载所述清单下载框架的JAR包;
若所述JAR包加载成功,则在所述JAR包中获取所述清单下载框架的配置信息。
优选地,所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之前,还包括:
检测写入所述预设表格的所述第一行数据的必选参数字段是否为空;
以及检测所述第一行数据对应的列数是否大于所述配置信息中的最大列数。
此外,为实现上述目的,本发明还提供一种文件生成设备,所述文件生成设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的文件生成程序,所述文件生成程序被所述处理器执行时实现如上所述的文件生成方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有文件生成程序,所述文件生成程序被处理器执行时实现如上所述的文件生成方法的步骤。
本发明通过当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。实现了通过预设类型清单下载框架生成对应的文件,该文件可支持xls或xlsx格式,即实现了支持所生成文件多样化。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明文件生成方法较佳实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。以解决以DOM模型为核心的下载框架所生成的文件不支持xls或xlsx格式的问题。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例文件生成设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该文件生成设备可以包括:处理器1001,例如CPU,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,文件生成设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图1中示出的文件生成设备结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统以及文件生成程序。其中,操作系统是管理和控制文件生成设备硬件和软件资源的程序,支持文件生成程序以及其它软件和/或程序的运行。
在图1所示的文件生成设备中,用户接口1003主要用于接收启动指令等。而处理器1001可以用于调用存储器1005中存储的文件生成程序,并执行以下操作:
当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;
根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;
若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。
进一步地,所述生成预设结构的第一行数据的步骤包括:
从数据库中获取第二行数据;
确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系;
基于所述第二行数据,根据所述对应关系生成map结构的第一行数据。
进一步地,所述根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中的步骤包括:
根据所述配置信息创建Excel表格,并将map结构的第一行数据以流形式写入所述Excel表格中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤包括:
若所述行数据满足所述Excel表格的条件,则生成与所述Excel表格对应Excel文件的sheet页头部和内容,并根据所述第一行数据的大小确定是否需要换页,以生成Excel文件。
进一步地,所述确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系的步骤之前,处理器1001还可以用于调用存储器1005中存储的文件生成程序,执行以下操作:
将所述第二行数据存储至Java虚拟机中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之后,处理器1001还可以用于调用存储器1005中存储的文件生成程序,执行以下操作:
删除所述Java虚拟机所存储的所述第二行数据。
进一步地,所述清单下载框架对应的模板文件包括头文件模板、内容头模板和内容体模板。
进一步地,所述当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息的步骤包括:
当侦测到业务系统的启动指令时,加载所述清单下载框架的JAR包;
若所述JAR包加载成功,则在所述JAR包中获取所述清单下载框架的配置信息。
进一步地,所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之前,处理器1001还可以用于调用存储器1005中存储的文件生成程序,执行以下操作:
检测写入所述预设表格的所述第一行数据的必选参数字段是否为空;
以及检测所述第一行数据对应的列数是否大于所述配置信息中的最大列数。
基于上述的硬件结构,提出文件生成方法的各个实施例。
参照图2,图2为本发明文件生成方法第一实施例的流程示意图。
在本实施例中,提供了文件生成方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
所述文件生成方法包括:
步骤S10,当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据。
当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据。在本发明实施例中,该启动指令可由用户触发,也可设置为业务系统在固定时间自动触发。如设置业务系统在每天6点时自动启动,以触发启动指令。
在本实施例中,预设类型的清单下载框架为String Template清单下载框架。String Template(简称ST)是一个基于Java的模板引擎库(目前同时支持C#、Python、Ruby),可以用于生成源代码、Web页面、电子邮件等各种有格式的文本。在其它实施例中,预设类型的清单下载框架可为和StringTemplate清单下载框架具备同样功能的清单下载框架。配置信息包括但不限于清单下载框架中模板文件的行数和列数。
在本发明实施例中,String Template清单下载框架包括ElisRbsStartup、XlsClassLoader、DsmsXlsCommonIOHandler、DsmsXlsIOHandler、XlsColumnDef、XlsRowDefDTO、RbsXlsIOHandler、DsmsXlsBaseIOHandler、DsmsXlsMgIOHandler、RbsXlsMgIOHandler和XlsUtli模块。需要说明的是,本领域的技术人员可对清单下载框架进行新模块的补充,各模块的名称是自定义名称,仅用于辅助理解该清单下载框架的各个程序功能模块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的模块所要达成的功能。
当业务系统启动时,调用ElisRbsStartup,初始化清单下载框架的JAR包。
当ElisRbsStartup初始化清单下载框架的JAR包后,ElisRbsStartup用于调用XlsClassLoader,以加载清单下载框架的JAR包,并检测清单下载框架的JAR包是否加载成功。JAR(Java Archive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JAR文件格式以流行的ZIP文件格式为基础,与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM(Java Virtual Machine,Java虚拟机)这样的工具直接使用。
DsmsXlsCommonIOHandler用于定义清单下载框架的公共头,如定义各个模板文件所需的公共参数,以及定义输出文件路径和回调函数,以及检测清单下载框架初始化是否成功。
DsmsXlsIOHandler用于读取清单下载框架的配置信息,执行公共头中的回调函数,该回调函数主要用于从数据库中读取第一行数据,并根据所读取的行数据与清单下载框架中模板文件变量的对应关系生成map结构的行数据,该map结构的行数据即为第二行数据。DsmsXlsIOHandler还用于第一行数据生成的文件需要换页时,进行文件拆分。
XlsColumnDef用于确定第一行数据与清单下载框架中模板文件变量的对应关系。
XlsRowDefDTO是数据载体。
DsmsXlsBaseIOHandler用于获取清单下载框架的公共头。
RbsXlsIOHandler、DsmsXlsMgIOHandler和RbsXlsMgIOHandler用于获取来源于不同数据库的待配置的行数据,即获取第二行数据。如RbsXlsIOHandler可用于从业务系统的数据库中获取待配置的行数据,而DsmsXlsMgIOHandler和RbsXlsMgIOHandler可用于从MongoDB获取待配置的行数据。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似JSON(Java Script Object Notation,JS对象标记)的BJSON(Binary JSON)格式,因此可以存储比较复杂的数据类型。
XlsUtl是清单下载框架得核心模块,主要用于定义清单下载框架的基础参数,并设置对应的默认值,并支持多种方式创建预设表格。如可以多文件方式创建Excel表格,以支持一次写入多行数据到所创建的Excel表格中;可以单文件多sheet方式创建Excel表格,以支持一次写入多行数据到所创建的Excel表格中;可以单文件断点续写的方式创建Excel表格,以支持一次写入一行数据到所创建的Excel表格中。
XlsUtl还可用于参数检测,如检测所写入的行数据字段是否为空,所写入的行数据对应的必选字段是否为空;检测行数据是否全部正确写入Excel表格中;检测所写入的行数据对应的列数是否超过模板文件设置的最大列数;检测模板文件是否存在;生成sheet页头部和sheet页内容,并检测所生成的Excel文件是否需要换页等。
进一步地,当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息的步骤包括:
步骤a,当侦测到业务系统的启动指令时,加载所述清单下载框架的JAR包。
步骤b,若所述JAR包加载成功,则在所述JAR包中获取所述清单下载框架的配置信息。
进一步地,当侦测到业务系统的启动指令时,加载清单下载框架的JAR包。当清单下载框架的JAR包加载成功时,在JAR包中获取清单下载框架的配置信息;当清单下载框架的JAR包加载失败时,可输出提示信息,提示用户JAR包加载失败,请重新加载清单下载框架的JAR包;或者当清单下载框架的JAR包加载失败时,业务系统自动重新加载清单下载框架的JAR包,当业务系统自动加载JAR包失败的次数大于预设次数时,结束加载JAR包的工作流程。在本实施例中,预设次数可根据具体需要而设置,如可设置为2次,或者3次。
进一步地,生成预设结构的第一行数据的步骤包括:
步骤c,从数据库中获取第二行数据。
步骤d,确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系。
步骤e,基于所述第二行数据,根据所述对应关系生成map结构的第一行数据。
进一步地,从数据库中获取第二行数据,以及获取清单下载框架的模板文件。当从数据库中获取到第二行数据时,解析所述第二行数据,确定第二行数据与模板文件中变量的对应关系,并基于第二行数据,根据所确定的对应关系生成map结构的第一行数据。可以理解的是,通过第二行数据可得到第一行数据。map是一种依照键值对的形式进行存储的数据结构,键值相当于list和数组中的下标,键值可以是任何类型的对象,同时在图中不能存在重复的键值并且每个键值必须与一个相应的值对应存储。
在本实施例中,清单下载框架包括3个模板文件,分别为头文件模板,内容头模板和内容体模板。其中,头文件模板用于定义整个文件的样式,比如字段类型、颜色等,类似于CSS(Cascading Style Sheets,层叠样式表)文件。内容头模板用于定义sheet页中公共参数,如清单名称、公共参数、列字段定义。内容体模板用于将动态列字段绑定到对应变量。为了区分不同的文件,在本实施例中,清单下载框架的模板文件的格式都是以st结尾的文件,如用head.st表示头文件模板,用body_head.st表示内容头模板,用body_row.st表示内容体模板。
进一步地,清单下载框架还可以包括可选模板,用于实现用户的特殊需求,如当要求所生成的文件具备下拉列表、数据校验等功能时,可通过可选模板来实现。
步骤S20,根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中。
当得到清单下载框架的配置信息时,根据配置信息创建预设表格,并将第一行数据写入所创建的预设表格中。在根据配置信息创建预设表格时,可通过多种方式创建预设表格,根据创建表格方式的不同,将第一行数据写入预设表格中的写入方式不同,如一次可以写入多行的第一行数据,或者一次只写入一行的第一行数据。在本实施例中,预设表格为Excel表格,在其它实施例中,该表格也可为CSV(Comma-Separated Values,逗号分隔值)、TXT格式的表格。
进一步地,所述步骤S20包括:
步骤f,根据所述配置信息创建Excel表格,并将map结构的第一行数据以流形式写入所述Excel表格中。
进一步地,当获取到清单下载框架的配置信息时,根据所获取的配置信息创建Excel表格,并将map结构的第一行数据以流形式写入Excel表格中。
步骤S30,若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。
当将map结构的第一行数据以流形式写入预设表格后,检测写入预设表格中的第一行数据是否满足预设表格的条件。当第一行数据满足预设表格的条件时,根据第一行数据生成与预设表格对应的文件。当第一行数据不满足预设表格的条件时,则不生成与预设表格对应的文件;或者将第一行数据中不满足预设表格条件的数据删除后,再生成与预设表格对应的文件。
具体地,检测写入预设表格中的第一行数据是否满足预设表格的条件的过程为:检测写入预设表格的第一行数据的必选参数字段是否为空;以及检测第一行数据对应的列数是否大于配置信息中的最大列数。
当写入预设表格的第一行数据的必选参数字段不为空,且第一行数据对应的列数小于或者等于配置信息中的最大列数时,确定第一行数据满足预设表格的条件;当写入预设表格的第一行数据的必选参数字段为空,和/或第一行数据对应的列数大于配置信息中的最大列数时,确定第一行数据不满足预设表格的条件。可以理解的是,行数据中必选参数根据所生成文件内容的不同而不同。
进一步地,还可检测写入预设表格中的第一行数据对应的各个字段是否为空,以及检测清单下载框架的模板文件是否存在等。
进一步地,所述步骤S30包括:
步骤h,若所述第一行数据满足所述Excel表格的条件,则生成与所述Excel表格对应Excel文件的sheet页头部和内容,并根据所述第一行数据的大小确定是否需要换页,以生成Excel文件。
进一步地,当将map结构的第一行数据以流形式写入Excel表格后,检测写入Excel表格的第一行数据是否满足Excel表格的条件。若第一行数据满足Excel表格的条件,则生成与Excel表格对应Excel文件的sheet页头部和sheet页内容,并根据第一行数据的大小确定是否需要换页,即根据第一行数据的行数和列数确定是否需要换页。当第一行数据的行数大于一个sheet页的最大行数,和/或第一行数据的列数大于一个sheet页的最大列数时,表明需要换页,则执行换页操作,生成多页的Excel文件;当第一行数据的行数小于或者等于一个sheet页的最大行数,且第一行数据的列数小于或者等于一个sheet页的最大列数时,表明不需要换页,则生成单页的Excel文件。可以理解的是,在本实施例中,Excel文件的格式可为xls或xlsx格式。
在本实施例中,由于Excel文件可分页,避免了当行数据的数据过大时,内存溢出的风险。在使用String Template清单下载框架过程中,开发人员只需要修改变量部分的内容,即可生成所需要的文件,减少了开发人员的工作量,也便于开发人员对清单下载框架的维护。
本实施例通过当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。实现了通过预设类型清单下载框架生成对应的文件,该文件可支持xls或xlsx格式,即实现了支持所生成文件多样化。
进一步地,提出本发明文件生成方法第二实施例。
所述文件生成方法第二实施例与所述文件生成方法第一实施例的区别在于,文件生成方法还包括:
步骤i,将所述第二行数据存储至Java虚拟机中。
步骤g,删除所述Java虚拟机所存储的所述第二行数据。
当获取到待配置的第二行数据时,将所获取的第二行数据存储至Java虚拟机中。当根据第一行数据生成与预设表格对应的文件后,删除Java虚拟机中存储的第二行数据。在将第一行数据写入预设表格的过程中,若第一行数据写入错误,或者第一行数据丢失导致写入失败等情况出现时,可重新在Java虚拟机中获取对应的第二行数据,根据该第二行数据重新生成第一行数据,以生成与所需文件。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
在本实施例中,通过将从数据库中所获取的原始数据(第二行数据)存储在Java虚拟机,当在生成文件过程中,若与该原始数据有关的数据出现错误时,可重新在Java虚拟机获取该原始数据,而不需要在业务系统数据库中查找该原始数据,提高了文件生成效率。当文件生成成功后,将Java虚拟机所存储的数据删除,节省了Java虚拟机的存储空间,以提高Java虚拟机存储空间的利用率。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有文件生成程序,所述文件生成程序被处理器执行时实现如下步骤:
当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;
根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;
若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。
进一步地,所述生成预设结构的第一行数据的步骤包括:
从数据库中获取第二行数据;
确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系;
基于所述第二行数据,根据所述对应关系生成map结构的第一行数据。
进一步地,所述根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中的步骤包括:
根据所述配置信息创建Excel表格,并将map结构的第一行数据以流形式写入所述Excel表格中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤包括:
若所述行数据满足所述Excel表格的条件,则生成与所述Excel表格对应Excel文件的sheet页头部和内容,并根据所述第一行数据的大小确定是否需要换页,以生成Excel文件。
进一步地,所述确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系的步骤之前,所述文件生成程序被处理器执行时实现如下步骤:
将所述第二行数据存储至Java虚拟机中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之后,所述文件生成程序被处理器执行时实现如下步骤:
删除所述Java虚拟机所存储的所述第二行数据。
进一步地,所述清单下载框架对应的模板文件包括头文件模板、内容头模板和内容体模板。
进一步地,所述当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息的步骤包括:
当侦测到业务系统的启动指令时,加载所述清单下载框架的JAR包;
若所述JAR包加载成功,则在所述JAR包中获取所述清单下载框架的配置信息。
进一步地,所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之前,所述文件生成程序被处理器执行时实现如下步骤:
检测写入所述预设表格的所述第一行数据的必选参数字段是否为空;
以及检测所述第一行数据对应的列数是否大于所述配置信息中的最大列数。
本发明计算机可读存储介质具体实施方式与上述文件生成方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种文件生成方法,其特征在于,所述文件生成方法包括以下步骤:
当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息,以及生成预设结构的第一行数据;
根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中;
若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件。
2.如权利要求1所述的文件生成方法,其特征在于,所述生成预设结构的第一行数据的步骤包括:
从数据库中获取第二行数据;
确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系;
基于所述第二行数据,根据所述对应关系生成map结构的第一行数据。
3.如权利要求2所述的文件生成方法,其特征在于,所述根据所述配置信息创建预设表格,并将所述第一行数据写入所述预设表格中的步骤包括:
根据所述配置信息创建Excel表格,并将map结构的第一行数据以流形式写入所述Excel表格中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤包括:
若所述行数据满足所述Excel表格的条件,则生成与所述Excel表格对应Excel文件的sheet页头部和内容,并根据所述第一行数据的大小确定是否需要换页,以生成Excel文件。
4.如权利要求2所述的文件生成方法,其特征在于,所述确定所述第二行数据与所述清单下载框架的模板文件中变量的对应关系的步骤之前,还包括:
将所述第二行数据存储至Java虚拟机中;
所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之后,还包括:
删除所述Java虚拟机所存储的所述第二行数据。
5.如权利要求2所述的文件生成方法,其特征在于,所述清单下载框架对应的模板文件包括头文件模板、内容头模板和内容体模板。
6.如权利要求1所述的文件生成方法,其特征在于,所述当侦测到业务系统的启动指令时,获取预设类型的清单下载框架的配置信息的步骤包括:
当侦测到业务系统的启动指令时,加载所述清单下载框架的JAR包;
若所述JAR包加载成功,则在所述JAR包中获取所述清单下载框架的配置信息。
7.如权利要求1至6任一项所述的文件生成方法,其特征在于,所述若所述第一行数据满足所述预设表格的条件,则根据所述第一行数据生成与所述预设表格对应的文件的步骤之前,还包括:
检测写入所述预设表格的所述第一行数据的必选参数字段是否为空;
以及检测所述第一行数据对应的列数是否大于所述配置信息中的最大列数。
8.一种文件生成设备,其特征在于,所述文件生成设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的文件生成程序,所述文件生成程序被所述处理器执行时实现如权利要求1至7中任一项所述的文件生成方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有文件生成程序,所述文件生成程序被处理器执行时实现如权利要求1至7中任一项所述的文件生成方法的步骤。
CN201710319543.3A 2017-05-05 2017-05-05 文件生成方法、设备以及计算机可读存储介质 Active CN107688456B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710319543.3A CN107688456B (zh) 2017-05-05 2017-05-05 文件生成方法、设备以及计算机可读存储介质
PCT/CN2017/112009 WO2018201697A1 (zh) 2017-05-05 2017-11-21 文件生成方法、装置、设备以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710319543.3A CN107688456B (zh) 2017-05-05 2017-05-05 文件生成方法、设备以及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107688456A true CN107688456A (zh) 2018-02-13
CN107688456B CN107688456B (zh) 2020-04-10

Family

ID=61152394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710319543.3A Active CN107688456B (zh) 2017-05-05 2017-05-05 文件生成方法、设备以及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN107688456B (zh)
WO (1) WO2018201697A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019970A (zh) * 2018-06-15 2019-07-16 中国平安人寿保险股份有限公司 清单下载模板创建方法、装置、终端及可读存储介质
CN111046643A (zh) * 2019-11-23 2020-04-21 方正株式(武汉)科技开发有限公司 快速定制生成excel表格的系统及方法、服务器及介质
CN112632165A (zh) * 2020-12-22 2021-04-09 平安普惠企业管理有限公司 页面表格导出excel方法、装置、计算机设备及存储介质
CN113312133A (zh) * 2021-06-17 2021-08-27 浙江齐安信息科技有限公司 操作方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070055696A (ko) * 2005-11-28 2007-05-31 엘지노텔 주식회사 망 관리 시스템에서의 초기 데이터 관리 장치 및 방법
CN101661460A (zh) * 2009-09-18 2010-03-03 上海宝信软件股份有限公司 管理系统报表生成方法和装置
CN103020162A (zh) * 2012-11-26 2013-04-03 中国电力科学研究院 Cc2000模型转换导入d5000系统的方法
CN103150298A (zh) * 2013-03-13 2013-06-12 河海大学 基于Web的流域水调业务可定制复杂表格生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0028434D0 (en) * 2000-11-22 2001-01-10 Decision Curve Ltd Methods and apparatus for automatically producing spreadsheet-based models
CN103020089A (zh) * 2011-09-27 2013-04-03 深圳市金蝶友商电子商务服务有限公司 一种将excel文件中的数据导入数据库的方法及装置
CN103744982A (zh) * 2014-01-15 2014-04-23 北京神州普惠科技股份有限公司 一种将Excel数据导入数据库的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070055696A (ko) * 2005-11-28 2007-05-31 엘지노텔 주식회사 망 관리 시스템에서의 초기 데이터 관리 장치 및 방법
CN101661460A (zh) * 2009-09-18 2010-03-03 上海宝信软件股份有限公司 管理系统报表生成方法和装置
CN103020162A (zh) * 2012-11-26 2013-04-03 中国电力科学研究院 Cc2000模型转换导入d5000系统的方法
CN103150298A (zh) * 2013-03-13 2013-06-12 河海大学 基于Web的流域水调业务可定制复杂表格生成方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019970A (zh) * 2018-06-15 2019-07-16 中国平安人寿保险股份有限公司 清单下载模板创建方法、装置、终端及可读存储介质
CN111046643A (zh) * 2019-11-23 2020-04-21 方正株式(武汉)科技开发有限公司 快速定制生成excel表格的系统及方法、服务器及介质
CN112632165A (zh) * 2020-12-22 2021-04-09 平安普惠企业管理有限公司 页面表格导出excel方法、装置、计算机设备及存储介质
CN113312133A (zh) * 2021-06-17 2021-08-27 浙江齐安信息科技有限公司 操作方法、系统及存储介质
CN113312133B (zh) * 2021-06-17 2022-06-24 浙江齐安信息科技有限公司 操作方法、系统及存储介质

Also Published As

Publication number Publication date
CN107688456B (zh) 2020-04-10
WO2018201697A1 (zh) 2018-11-08

Similar Documents

Publication Publication Date Title
US20210216700A1 (en) Information Processing Method and System
CN107402788B (zh) 资源打包管理方法与装置
US7698628B2 (en) Method and system to persist state
CN107688456A (zh) 文件生成方法、设备以及计算机可读存储介质
CN111367976B (zh) 基于java反射机制的excel文件数据的导出方法及装置
CN107291497A (zh) 多固件升级方法、系统及可读存储介质
CN108037920A (zh) 客户端自定义表单生成方法、存储介质
CN109558128A (zh) json数据解析方法、装置及计算机可读存储介质
WO2012167662A1 (zh) 一种epub电子书加载方法及装置
CN107066618A (zh) 一种网页页面转换后显示方法和装置
CN106888125A (zh) 一种处理异常关机日志的方法、移动终端和服务器
CN109725933A (zh) 大数据文档生成方法、装置、设备及计算机可读存储介质
CN110020356A (zh) 一种页面模块的代码生成方法、装置及系统
CN107656729A (zh) 列表视图的更新装置、方法及计算机可读存储介质
CN102929646A (zh) 应用程序生成方法及装置
CN105027116A (zh) 电子阅读器内平面书籍到富书籍的转换
CN109190078A (zh) 网页构建方法、装置和存储介质
US11934420B2 (en) Systems and methods for componentization and plug and play workflows
CN112817595A (zh) 界面渲染方法、装置、存储介质及电子设备
CN114780497B (zh) 批量文件处理方法、装置、计算机设备、介质和程序产品
CN116110065A (zh) 题卡数据生成方法、装置、计算机设备和存储介质
CN116048609A (zh) 配置文件更新方法、装置、计算机设备和存储介质
JP2011233104A (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム、記録媒体
CN109542531A (zh) 一种文件布局调整方法及装置
CN112541327A (zh) 一种数据读取方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant