CN107153717A - 通过浏览器从数据库导出百万级记录到表格的方法及系统 - Google Patents

通过浏览器从数据库导出百万级记录到表格的方法及系统 Download PDF

Info

Publication number
CN107153717A
CN107153717A CN201710446826.4A CN201710446826A CN107153717A CN 107153717 A CN107153717 A CN 107153717A CN 201710446826 A CN201710446826 A CN 201710446826A CN 107153717 A CN107153717 A CN 107153717A
Authority
CN
China
Prior art keywords
data
browser
module
excel
database
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.)
Pending
Application number
CN201710446826.4A
Other languages
English (en)
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.)
CHENGDU 30KAITIAN COMMUNICATION INDUSTRY Co Ltd
Original Assignee
CHENGDU 30KAITIAN COMMUNICATION INDUSTRY 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 CHENGDU 30KAITIAN COMMUNICATION INDUSTRY Co Ltd filed Critical CHENGDU 30KAITIAN COMMUNICATION INDUSTRY Co Ltd
Priority to CN201710446826.4A priority Critical patent/CN107153717A/zh
Publication of CN107153717A publication Critical patent/CN107153717A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了通过浏览器从数据库导出百万级记录到表格的方法及系统,涉及JavaWeb工程领域。一种通过浏览器从数据库导出百万级记录到excel表格的方法,包括:用户发出请求、数据处理、数据组装、数据存储、数据压缩、下载信息发送给用户和用户接收下载信息;一种通过浏览器从数据库导出百万级记录到excel表格的系统,包括:数据处理模块、数据组装模块、数据存储模块、数据压缩模块和数据导出模块。本发明导出的数据以excel表为呈现方式,解决在数据量达到百万级数据时通过浏览器导出数据服务器会崩溃的问题,并且优化了数据的处理速度,通过压缩的方法减小了下载文件的大小,使浏览器下载百万级数据时更加的快捷、稳定。

Description

通过浏览器从数据库导出百万级记录到表格的方法及系统
技术领域
本发明涉及JavaWeb工程领域,尤其是通过浏览器从数据库导出百万级记录到表格的方法及系统。
背景技术
统计报表是大型WEB应用系统中很常见的一个应用,而导出数据到Excel等文件中保存是报表的一个核心功能。当系统部署到不同的地方,由于各地应用场景的不同,对导出的数据格式及样式的要求也不尽相同。部署的地方越多,这种不同就越多,就需要开发对应的功能和修改导出模块的程序来应对,极大增加了开发和测试的成本。目前,一般的解决方法是通过配置文件大量的属性配置来实现导出样式的多样化。如其中的一种方法自定义标签法,通过解析标签向模板中填充数据。另一种方法通过配置XML文件,然后根据配置导出对应的样式。这些方法将导出报表的大部分部分工作转移给软件的使用者,大量增加了用户的操作,并且当导出的样式复杂尤 其是数据列比较多并且涉及单元格合并时,这种方法对应的配置也变得繁琐易出错,违反了产品设计的易用性原则
随着web技术的发展日新月异,它的发展同时也推动了网络的不断发展,从而影响到社会及个人的生活,在目前提倡大数据的环境下,用户的数据量越来越大,这就造成了用户需要把服务器的数据组装成excel表格式下载到本地时,如果数据量过大,就会造成服务器崩溃等问题。
发明内容
本发明的目的在于克服现有技术的不足,提供通过浏览器从数据库导出百万级记录到表格的方法及系统,解决在数据量达到百万级数据时通过浏览器导出数据服务器会崩溃的问题,并且优化了数据的处理速度,通过压缩的方法减小了下载文件的大小,使浏览器下载百万级数据时更加的快捷、稳定。
本发明的目的是通过以下技术方案来实现的:通过浏览器从数据库导出百万级记录到表格的方法,其特征在于:具体包括如下步骤:
S0001用户请求:用户请求导出数据,服务器接收用户请求后提取用户请求参数;
S0002数据处理:通过请求参数的值按预设条件查询数据库,得到需要导出的数据;
S0003数据组装:将需要导出的数据组装成excel表格形式,如数据量小则直接导出一个excel表形式的文件到浏览器,否则将数据组装成多个excel表;
S0004数据存储:将百万级数据以多个excel表形式存储到硬盘;
S0005数据压缩:将多个excel文件打包成zip格式的压缩文件,并生产文件路径;
S0006下载信息发送给用户;
S0007用户接收下载信息,然后将服务器数据下载到本地。
进一步限定,所述的数据组装,将需要导出的数据组装成excel表格形式,如数据量小于65536kB则直接导出一个excel表形式的文件到浏览器,否则将数据组装成多个excel表,。
一种通过浏览器从数据库导出百万级记录到excel表格的系统,它包括:数据处理模块、数据组装模块、数据存储模块、数据压缩模块和数据导出模块;
所述的数据处理模,用于接收浏览器发起的数据导出请求,通过请求参数的值按条件查询数据库,得到需要导出的数据;
所述的数据组装模块,将需要导出的数据组装成excel表格形式,数据量小则直接导出一个excel表形式的文件到浏览器,否则调用数据存储模块,将多个excel表存储到服务器本地;
所述的数据存储模块,用于将内存中的数据存储到硬盘;
所述的数据压缩模块,用于将多个文件打包成zip格式的压缩文件;
数据导出模块,用于将服务器数据导出到浏览器,供本地下载。
本发明的有益效果是:本发明能够在浏览器导出百万级数据量的数据、导出的数据以excel表为呈现方式,解决在数据量达到百万级数据时通过浏览器导出数据服务器会崩溃的问题,并且优化了数据的处理速度,通过压缩的方法减小了下载文件的大小,使浏览器下载百万级数据时更加的快捷、稳定。
附图说明
图1为一种通过浏览器从数据库导出百万级记录到excel表格的方法流程图;
图2为一种通过浏览器从数据库导出百万级记录到excel表格的系统框架图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,通过浏览器从数据库导出百万级记录到表格的方法,其特征在于:具体包括如下步骤:
S0001用户请求:用户请求导出数据,服务器接收用户请求后提取用户请求参数;
S0002数据处理:通过请求参数的值按预设条件查询数据库,得到需要导出的数据;
S0003数据组装:将需要导出的数据组装成excel表格形式,如数据量小则直接导出一个excel表形式的文件到浏览器,否则将数据组装成多个excel表;
S0004数据存储:将百万级数据以多个excel表形式存储到硬盘;
S0005数据压缩:将多个excel文件打包成zip格式的压缩文件,并生产文件路径;
S0006下载信息发送给用户;
S0007用户接收下载信息,然后将服务器数据下载到本地。
进一步限定,所述的数据组装,将需要导出的数据组装成excel表格形式,如数据量小于65536kB则直接导出一个excel表形式的文件到浏览器,否则将数据组装成多个excel表,。
如图2所示,一种通过浏览器从数据库导出百万级记录到excel表格的系统,它包括:数据处理模块、数据组装模块、数据存储模块、数据压缩模块和数据导出模块;
所述的数据处理模,用于接收浏览器发起的数据导出请求,通过请求参数的值按条件查询数据库,得到需要导出的数据;
所述的数据组装模块,将需要导出的数据组装成excel表格形式,数据量小则直接导出一个excel表形式的文件到浏览器,否则调用数据存储模块,将多个excel表存储到服务器本地;
所述的数据存储模块,用于将内存中的数据存储到硬盘;
所述的数据压缩模块,用于将多个文件打包成zip格式的压缩文件;
数据导出模块,用于将服务器数据导出到浏览器,供本地下载。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的方法、系统和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明所揭露的方法、系统和模块,可以通过其它的方式实现。例如,以上所描述的实施例仅是示意性的,例如,所述模块的划分,可以仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以说通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述分立部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例的方案目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、制度存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (4)

1.通过浏览器从数据库导出百万级记录到表格的方法,其特征在于:具体包括如下步骤:
S0002数据处理:通过请求参数的值按预设条件查询数据库,得到需要导出的数据;
S0003数据组装:将需要导出的数据组装成excel表格形式,如数据量小则直接导出一个excel表形式的文件到浏览器,否则将数据组装成多个excel表;
S0004数据存储:将百万级数据以多个excel表形式存储到硬盘。
2.根据权利要求1所述的通过浏览器从数据库导出百万级记录到表格的方法,其特征在于,还包括:
S0001用户请求:用户请求导出数据,服务器接收用户请求后提取用户请求参数;
S0005数据压缩:将多个excel文件打包成zip格式的压缩文件,并生产文件路径;
S0006下载信息发送给用户;
S0007用户接收下载信息,然后将服务器数据下载到本地。
3.根据权利要求1所述的通过浏览器从数据库导出百万级记录到表格的方法,其特征在于:所述的数据组装,将需要导出的数据组装成excel表格形式,如数据量小于65536kB则直接导出一个excel表形式的文件到浏览器,否则将数据组装成多个excel表。
4.根据权利要求1所述的通过浏览器从数据库导出百万级记录到表格的方法,其特征在于,它包括:数据处理模块、数据组装模块、数据存储模块、数据压缩模块和数据导出模块;
所述的数据处理模,用于接收浏览器发起的数据导出请求,通过请求参数的值按条件查询数据库,得到需要导出的数据;
所述的数据组装模块,将需要导出的数据组装成excel表格形式,数据量小则直接导出一个excel表形式的文件到浏览器,否则调用数据存储模块,将多个excel表存储到服务器本地;
所述的数据存储模块,用于将内存中的数据存储到硬盘;
所述的数据压缩模块,用于将多个文件打包成zip格式的压缩文件;
数据导出模块,用于将服务器数据导出到浏览器,供本地下载。
CN201710446826.4A 2017-06-14 2017-06-14 通过浏览器从数据库导出百万级记录到表格的方法及系统 Pending CN107153717A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710446826.4A CN107153717A (zh) 2017-06-14 2017-06-14 通过浏览器从数据库导出百万级记录到表格的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710446826.4A CN107153717A (zh) 2017-06-14 2017-06-14 通过浏览器从数据库导出百万级记录到表格的方法及系统

Publications (1)

Publication Number Publication Date
CN107153717A true CN107153717A (zh) 2017-09-12

Family

ID=59795327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710446826.4A Pending CN107153717A (zh) 2017-06-14 2017-06-14 通过浏览器从数据库导出百万级记录到表格的方法及系统

Country Status (1)

Country Link
CN (1) CN107153717A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784085A (zh) * 2017-09-30 2018-03-09 平安科技(深圳)有限公司 一种数据列表的导出方法及其终端
CN109561131A (zh) * 2018-10-19 2019-04-02 深圳点猫科技有限公司 一种基于编程语言下载excel数据的方法及电子设备
CN109977153A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种表格大数据导出方法
CN110119418A (zh) * 2018-01-16 2019-08-13 北京京东尚科信息技术有限公司 数据导出方法和装置
CN110245177A (zh) * 2019-06-24 2019-09-17 四川首汽交投汽车共享科技有限公司 一种百万级数据的导出方法
CN113468380A (zh) * 2021-06-30 2021-10-01 杭州玳数科技有限公司 数据导出方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862543A (zh) * 2006-06-21 2006-11-15 千乡万才科技(中国)有限公司 一种浏览器/服务器系统中的数据导入与导出方法
CN101853287A (zh) * 2010-05-24 2010-10-06 南京高普科技有限公司 数据压缩快速检索文件系统及其方法
CN103093338A (zh) * 2013-01-28 2013-05-08 中国航空结算有限责任公司 民航客运联运电子数据处理方法及应用该方法生成的电子账单
CN103810238A (zh) * 2013-11-20 2014-05-21 国家电网公司 一种基于异步处理的大数据量Excel文件导出方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862543A (zh) * 2006-06-21 2006-11-15 千乡万才科技(中国)有限公司 一种浏览器/服务器系统中的数据导入与导出方法
CN101853287A (zh) * 2010-05-24 2010-10-06 南京高普科技有限公司 数据压缩快速检索文件系统及其方法
CN103093338A (zh) * 2013-01-28 2013-05-08 中国航空结算有限责任公司 民航客运联运电子数据处理方法及应用该方法生成的电子账单
CN103810238A (zh) * 2013-11-20 2014-05-21 国家电网公司 一种基于异步处理的大数据量Excel文件导出方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784085A (zh) * 2017-09-30 2018-03-09 平安科技(深圳)有限公司 一种数据列表的导出方法及其终端
CN107784085B (zh) * 2017-09-30 2021-04-13 平安科技(深圳)有限公司 一种数据列表的导出方法及其终端
CN109977153A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种表格大数据导出方法
CN109977153B (zh) * 2017-12-27 2022-03-04 航天信息股份有限公司 一种表格大数据导出方法
CN110119418A (zh) * 2018-01-16 2019-08-13 北京京东尚科信息技术有限公司 数据导出方法和装置
CN109561131A (zh) * 2018-10-19 2019-04-02 深圳点猫科技有限公司 一种基于编程语言下载excel数据的方法及电子设备
CN110245177A (zh) * 2019-06-24 2019-09-17 四川首汽交投汽车共享科技有限公司 一种百万级数据的导出方法
CN113468380A (zh) * 2021-06-30 2021-10-01 杭州玳数科技有限公司 数据导出方法

Similar Documents

Publication Publication Date Title
CN107153717A (zh) 通过浏览器从数据库导出百万级记录到表格的方法及系统
TWI476608B (zh) A distributed computing data merging method, system and device thereof
CN106293664A (zh) 代码生成方法及装置
CN104572672A (zh) 异构数据库的同步方法和应用系统
CN110515896B (zh) 模型资源管理方法、模型文件制作方法、装置和系统
CN109508355A (zh) 一种数据抽取方法、系统及终端设备
CN103034658A (zh) 一种数据查询和报表导出的方法及系统
CN104035754A (zh) 一种基于xml的自定义代码生成方法及生成器
CN105224544A (zh) 一种数据库的数据编辑方法及装置
CN105868311A (zh) 一种数据解析的方法和装置
CN106775937A (zh) 一种命令行校验方法及装置
CN110507986B (zh) 动画信息的处理方法和装置
CN103064989A (zh) 网页保存、打开方法及装置
CN107193917A (zh) 基于iid的全站系统配置文件无损数据更新方法
CN105468571A (zh) 一种用于自动生成报告的方法及装置
CN105117030A (zh) 输入法中联想词汇的推荐方法及终端
CN107797823A (zh) 业务规则管理方法、装置、存储介质和计算机设备
CN112559606A (zh) 用于json格式数据的转换方法及转换装置
EP2563061B1 (en) Data cut-over method and apparatus
CN105808748B (zh) 一种mib版本对比方法和装置
CN107357588A (zh) 目标代码生成方法及装置
CN105808539A (zh) 一种数据导出导入方法及装置
CN108073424A (zh) 组件接口的调用方法及装置
CN106776372B (zh) 基于fpga的仿真数据存取方法及装置
CN103176801B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170912

RJ01 Rejection of invention patent application after publication