CN105117378A - 一种json文件转换为excel文件的方法及装置 - Google Patents

一种json文件转换为excel文件的方法及装置 Download PDF

Info

Publication number
CN105117378A
CN105117378A CN201510475827.2A CN201510475827A CN105117378A CN 105117378 A CN105117378 A CN 105117378A CN 201510475827 A CN201510475827 A CN 201510475827A CN 105117378 A CN105117378 A CN 105117378A
Authority
CN
China
Prior art keywords
file
excel file
worksheet
excel
typesetting
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
CN201510475827.2A
Other languages
English (en)
Other versions
CN105117378B (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.)
UNION MOBILE PAY ELECTRONIC COMMERCE Co Ltd
Original Assignee
UNION MOBILE PAY ELECTRONIC COMMERCE 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 UNION MOBILE PAY ELECTRONIC COMMERCE Co Ltd filed Critical UNION MOBILE PAY ELECTRONIC COMMERCE Co Ltd
Priority to CN201510475827.2A priority Critical patent/CN105117378B/zh
Publication of CN105117378A publication Critical patent/CN105117378A/zh
Application granted granted Critical
Publication of CN105117378B publication Critical patent/CN105117378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种JSON文件转换为EXCEL文件的方法及装置,该方法包括:接收客户端发送的HTTP请求,根据该请求中包含JSON文件,读取JSON文件中的基本元素信息,并将基本元素信息中的数据信息按照EXCEL文件的排版格式进行排版并获取排版结果,然后调用C++语言函数库将该排版结果生成EXCEL文件。该方法通过接收客户端发送的HTTP请求,即通过API接口实现调用而不依赖于第三方的虚拟机、应用服务器或程序库,具有最小的系统依赖性,容易部署,因此具有很好的跨平台能力,并发能力及便捷性;同时,由于JSON文件的数组格式,使得JSON文件的数据信息进行EXCEL文件格式排版操作简单。

Description

一种JSON文件转换为EXCEL文件的方法及装置
技术领域
本发明涉及文档数据处理领域,尤其涉及一种JSON文件转换为EXCEL文件的方法及装置。
背景技术
MicrosoftExcel是微软办公套装软件的一个重要组成部分,它可以进行各种数据的处理和统计分析操作,广泛地应用于管理、统计财经、金融等众多领域。是当今最为重要信息载体。随着信息技术的发展,目前许多的智能化平台都需要产生各种庞大的数据,而很多资料和报表都以EXCEL文件方式保存和查询,因此EXCEL数据的生成是非常重要的。
现在业界比较流行的几种转换为Excel格式文件的方案包括:
方案一、调用某些数据库软件提供的转换功能生成Excel文件;
方案二、通过调用MS-Excel的自动化Com接口创建Excel报表和数据的写入,生成的次序是建立WorkBook(工作簿)、WorkSheet(工作表)和写入数据;
方案三、通过调用一些较成熟的开源文档编辑软件的接口实现MS-Excel基本信息的写入,较流行的是调用OpenOffice的应用程序编程接口(ApplicationProgrammingInterface,API)接口来实现Excel文档的生成。
传统生成Excel文件的方法虽然是主流的,但是在特定场合还是会体现出一些不足,下面列举一些:
方案一的缺点:由于大部分数据库软件仅仅提供一些将已知数据转换为基本表格的功能,当碰到单元格合并、表头设置和数据类型设置的情况会无能无力,且需要第三方软件的支持。
方案二的缺点:MS-Excel的Com接口对配置环境和输入数据的格式要求较高,在频繁多次调用的情况下,经常会出现程序挂掉的情况;另外,由于每输入一个单元(Cell)数据都会涉及到一次Com调用,所以此方案的效率较低,占用系统资源较多,造成机器负载较重。最后,此方案只能是在Windows环境下运行,不具备跨平台的优势。
方案三的缺点:由于xlsx文件的内部格式没有公开,所以当今一些主流的开源软件对其支持的并不完美,经常会造成元素丢失和排版混乱的情况,需要很大的开发工作量。
另外,目前电商企业中的服务器资源大部分以Linux系统为主,大量核心服务都是运行在Linux环境下,它的高性能和高可靠性已经成为业界的标准。但是在用户层面上,大部分PC还是以Windows操作系统为主,Excel文件也是运行在Windows平台下,如何利用Linux操作系统资源,在Linux环境下,构建一个高可用的微服务生成Excel文件,也成为了一个文档数据处理领域的发展方向之一。
发明内容
本发明提供一种JSON文件转换为EXCEL文件的方法和装置,用以解决现有技术中存在的生成EXCEL文件时无法实现跨平台,以及需要依赖于第三方虚拟机、应用服务器或程序库的问题,该发明提供的方法具有最小的系统依赖性,容易部署,简单小巧且可实现跨平台应用。
本申请提供的一种JSON文件转换为EXCEL文件的方法,该方法包括:
接收客户端发送的HTTP请求,所述HTTP请求中包含JSON文件;
读取所述JSON文件中的基本元素信息,所述基本元素信息包含用于生成EXCEL文件的数据信息;
将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果;
调用C++语言函数库将所述排版结果生成EXCEL文件。
本申请提供一种一种JSON文件转换为EXCEL文件的装置,该装置包括:
接收单元,用于接收客户端发送的HTTP请求,所述HTTP请求中包含JSON文件;
读取单元,用于读取所述JSON文件中的基本元素信息,所述基本元素信息包含用于生成EXCEL文件的数据信息;
排版单元,用于将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果;
生成单元,用于调用C++语言函数库将所述排版结果生成EXCEL文件。
本申请实施例提供的方法,服务器接收客户端发送的HTTP请求,根据该请求中包含JSON文件,然后读取所述JSON文件中的基本元素信息,并将基本元素信息中的数据信息按照EXCEL文件的排版格式进行排版并获取排版结果,然后调用C++语言函数库将该排版结果生成EXCEL文件。该方法中通过接收客户端发送的HTTP请求,即通过API接口实现调用而不依赖于第三方的虚拟机、应用服务器或程序库,具有最小的系统依赖性,容易部署,简单小巧,因此具有很好的跨平台能力,并发能力以及便捷性;同时,由于JSON文件的数组格式,使得JSON文件的数据信息进行EXCEL文件格式排版操作简单;也使得排版结果可适用于调用C++语言函数。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的JSON文件转换为EXCEL文件的流程示意图;
图2为本申请实施例提供的JSON文件转换为EXCEL文件的装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集,JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等),这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。
本申请提供的JSON文件转换EXCEL文件的方法,可看成是一个轻量级服务,外部系统可首先通过自身的系统功能将数据生成为JSON格式的文件,然后通过API接口调用本申请提供的微服务,通过该微服务可实现将JSON文件转换为EXCEL文件,然后将生成EXCEL文件加密后以返回给该外部系统。
如图1所示,为本申请提供的一种JSON文件转换为EXCEL文件的方法流程示意图,该流程在服务器执行。
步骤101,接收客户端发送的HTTP请求;
步骤102,读取JSON文件中的基本元素信息;
步骤103,将基本元素信息中的数据信息按照EXCEL文件的排版格式进行排版并获取排版结果;
步骤104,调用C++语言函数库将排版结果生成EXCEL文件。
其中,在步骤101中的客户端可以是某个软件系统的子系统,该子系统发送HTTPJSON的请求到服务器,并通过API接口调用该本申请提供的文件转换方法,通过调用本申请实施例提供的方法,将JSON文件转换为EXCEL文件后,由服务器返回给客户端。
本申请中客户端提交给服务器的请求的提交方式为POST,文件格式为JSON,HTTP协议路径参数为/json2xlsx。
其中该API接口可以以表1的方式定义:
HTTP Method POST
HTTP Protocol HTTP/1.1或者HTTP/1.2
HOST 例如:http://10.10.77.94:6001
JSON json2xlsx
Content-Type Application/json
表1本申请实施例提供的JSON文件的参数信息
例如,本申请实施例中客户端通过HTTP请求发送给服务器的JSON文件的信息头可以是如下格式:
POSThttp://10.10.77.94:6001/json2xlsx/HTTP/1.1
User-Agent:Fiddler
Content-Type:application/json
Host:10.10.77.94:6001
在步骤102中,根据客户端发送的HTTP请求中包含的JSON文件,可读取该JSON文件中包含的基本元素信息,该基本元素信息中至少包含待生成EXCEL文件中所需要的属性信息和数据信息;其中,属性信息位于所述JSON文件中对象头信息中;数据信息位于所述JSON文件中的对象实体信息中,一个对象实体信息中的数据信息用于生成一个EXCEL文件的工作表WorkSheet。
较优地,所述读取JSON文件中的基本元素信息,包括:
读取用于生成EXCEL文件的属性信息,所述属性信息位于所述JSON文件中对象头信息中;
读取用于生成EXCEL文件的数据信息,所述数据信息位于所述JSON文件中的对象实体信息中,一个对象实体信息中的数据信息用于生成一个EXCEL文件的工作表WorkSheet。
在JSON文件中,可将要生成的EXCEL文件的属性信息携带于JSON文件的对象头信息中,将要生成EXCEL文件的数据信息携带于JSON文件的对象实体信息中,发送给服务器,当服务器接收到该JSON文件后,可从JSON文件的对象头信息中读取EXCEL文件的属性信息用于创建EXCEL文件,从JSON文件的对象实体信息中读取EXCLE文件的数据信息用于设置EXCEL文件的各个工作表的数据,该方法充分利用了JSON文件的数组特性,将待生成的EXCEL文件属性和工作表数据以数组形式携带于JSON文件中,其中,一个工作表WorkSheet对应一个对象实体中的数据信息,该实现方法简单易操作,大大简化了将生成EXCEL文件的过程和降低了生成EXCEL文件的难度。
下面结合具体实施例,对本申请提供的方法做详细说明,如下所示,为JSON文件具体内容:
整个JSON文件,分为一个“对象头信息”和若干个“对象实体信息”,其中对象头信息中包含了将要生成的EXCEL文件的属性信息,若干个对象实体信息包含了将要生成的EXCEL文件中的若干个工作表的WorkSheet的数据信息。
在步骤103中,当服务器接收到JSON的基本元素信息后,将基本元素信息中的数据信息按照EXCEL文件的排版格式进行排版并获取排版结果
较优地,一个对象实体信息中的数据信息包含多个对象数组,每个对象数组对应一个工作表WorkSheet的一行;
所述将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果,包括:
将多个对象数组中的第一对象数组排版为所述第一对象数组所属的对象实体信息所对应的WorkSheet的一行。
下面以上述JSON文件为例,对将JSON文件按照EXCEL文件的排版格式进行排版的过程进行详细说明。
其中,JSON文件的’file_info’是JSON对象数组,代表一个对象头信息,本申请中,将对象头信息里面的成员(‘名称/值’对)表示要生成Excel文件的属性。
在上述例子中,属性信息分别是:
Excel生成路径"xlsx_path":"/usr/mpsp";
Excel文件名"xlsx_file":"abc.xlsx";
Excel输出方式"out_type":"ftp"。
上述对象数组’file_info’在实际应用中,还可以包含其它的属性信息,本发明不做具体限定。
JSON文件的"sheet1-对账概要",代表一个对象实体信息,该对象实体对应的EXCEL文件名称为“对账概要”。本申请中,该对象实体信息对应一个Excel的工作表WorkSheet,该对象实体信息”sheet1-对账概要”包含多个对象数组,其中每个数组表示了对应的EXCEL文件工作表WorkSheet的一行数据。
以上面文件为例,其中{"1":"序号","2":"总计金额"}表示对象实体信息”sheet1-对账概要”的第一个数组,其表示对应的EXCEL文件工作表“对账概要”的第一行数据由2个字段组成,其中第一字段为"序号",第二个字段为"总计金额",并且第一行数据有着特殊的含义,其表示该对象实体信息对应的EXCEL的工作表的列属性信息。
接下来,对象实体信息”sheet1-对账概要”中除第一个数组之外的若干个数组,表示工作表”sheet1-对账概要”的若干行具体数据信息,以上述文件为例:
{"1":"1","2":"100.00"},这个数组代表工作表“对账概要”第一行数据,为”1,100.00”;
{"1":"2","2":"200.00"},这个数组代表工作表“对账概要”第二行数据,为”2,200.00”;
因此,读取对象实体信息”sheet1-对账概要”中的数据信息后,排版得到的工作表“对账概要”的数据内容如表2所示:
序号 总计金额
1 100.00
2 200.00
表2工作表“对账概要”对应的数据内容
重复上面排版方式,我们得出第二个工作表“对账明细”如表3所示:
序号 时间 终端 金额 参考号
1 20150126 122010000001 1.0 465186709907
2 20150127 122010000003 10.0 4651867092902
3 20150129 122010000004 11.0 4651867092903
表3工作表“对账明细”对应的数据内容
在步骤104中,可调用C++语言函数库将步骤103中得到的EXCEL文件排版结果生成EXCEL文件。在步骤102中获取的基本元素信息中还包含有EXCEL文件的属性信息,所述EXCEL文件的属性信息包含EXCEL文件的路径信息,EXCEL文件名,WorkSheet名称;
所述调用C++语言函数库将所述获取的排版结果生成EXCEL文件,包括:
根据所述EXCEL文件的路径信息及所述EXCEL文件名,创建EXCEL对象;
根据所述EXCEL对象及所述WorkSheet名称,创建WorkSheet对象;
根据所述EXCEL文件的数据信息,设置与所述WorkSheet对象对应的WorkSheet。
由于C++函数可实现在不同的平台下运行,如可运行与LINUX或者WINDOWS平台下,因此通过调用C++函数库将排版好的EXCEL文件转换为EXCEL文件的方式,具有很好的跨平台性和良好的性能。
下面对如何调用C++函数将排版好的EXCEL文件转换为EXCEL文件做详细的说明。
第一步,创建Excel对象。
例如:lxw_workbook*workbook=new_workbook(路径文件名);
根据EXCEL文件属性信息中的路径文件名创建一个EXCEL文件对象workbook。例如,在本申请实施例中,生成的EXCEL文件的名称为"abc.xlsx",存储路径为"/usr/mpsp"。
第二步,设置Excel文件中若干个WorkSheet。
例如:lxw_worksheet*worksheet=workbook_add_worksheet(workbook,"对账概要");
根据第一步中生成的EXCEL文件对象workbook以及EXCEL工作表名“对账概要”生成第一张工作表对象worksheet,该工作表对象对应的工作表的名称为“对账概要”。
第三步,设置worksheet中每一列的属性和名称。
例如,设置工作表“对账概要”中的第一个属性“序号”的名称,方式如下:
//设置列的属性信息,将单元格设置的列宽度设置为15
worksheet_set_column(worksheet,0,0,15,NULL,NULL);
//设置列名称为“所属机构”
worksheet_write_string(worksheet,0,0,"序号,format);
第四步,设置worksheet中每一行中各列的值。
worksheet_write_string(worksheet2,i,j,json元素数据,NULL)。
例如,设置第二行第一列的数据,则调用函数具体为:worksheet_write_string(worksheet2,1,0,1,NULL)。
通过以上步骤即实现了调用C++函数将排版好的EXCEL格式的文件转换为EXCEL文件。
较优地,在所述调用C++语言函数库将所述获取的排版结果生成EXCEL文件之后,还包括:
将所述生成的EXCEL文件进行加密后返回给所述客户端;或者
将所述生成的EXCEL文件存储在预先设定的地址,以及向客户端返回EXCEL文件转换成功的消息。
在上述方法中,若客户端需要以同步的方式EXCEL文件,即将JSON文件转换为EXCEL文件后需要立即发送给客户端,此时,可以首先将生成好的EXCEL文件经过base64编码加密,将编码后的文件以JSON文件的形式发送客户端,客户端在接收到该JSON文件后,只要进行base64的解码,即可以得到生成好的EXCEL文件,该方法通过base64加密处理后,有利于数据安全以及减小数据传送量,提高了客户端与服务器数据传输的安全性和效率。
另外,若客户端不要求服务器以同步方式返回数据,则可以以异步方式返回,具体地,可以首先将生成好的EXCEL文件存储在预先设定的地址,预先设定的地址是携带于JSON文件的对象头信息中发送给服务器的,预先设定的地址可以是某个共享目录、FTP目录、消息队列或者是数据库中,然后向客户端返回EXCEL文件转换成功的消息。当客户端需要获取该EXCEL文件时,可从该EXCEL文件存储的地址中以WEB形式获取该EXCEL文件,该方式不要求实时返回EXCEL数据,当EXCEL文件较大时,可用此方法,具有更好的性能。
本申请实施例提供的方法,服务器接收客户端发送的HTTP请求,根据该请求中包含JSON文件,然后读取所述JSON文件中的基本元素信息,并将基本元素信息中的数据信息按照EXCEL文件的排版格式进行排版并获取排版结果,然后调用C++语言函数库将该排版结果生成EXCEL文件。该方法中通过接收客户端发送的HTTP请求,即通过API接口实现调用而不依赖于第三方的虚拟机、应用服务器或程序库,具有最小的系统依赖性,容易部署,简单小巧,因此具有很好的跨平台能力,并发能力以及便捷性;同时,由于JSON文件的数组格式,使得JSON文件的数据信息进行EXCEL文件格式排版操作简单;也使得排版结果可适用于调用C++语言函数。
基于相同的发明构思,如图2所示,本申请还提供了一种JOSN文件转换为EXCEL文件的装置,该装置包括:
接收单元201,用于接收客户端发送的HTTP请求,所述HTTP请求中包含JSON文件;
读取单元202,用于读取所述JSON文件中的基本元素信息,所述基本元素信息包含用于生成EXCEL文件的数据信息和属性信息;
排版单元203,用于将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果;
生成单元204,用于调用C++语言函数库,根据所述属性信息和所述排版结果生成EXCEL文件。
较优地,所述读取单元202,用于读取用于生成EXCEL文件的属性信息,所述属性信息位于所述JSON文件中对象头信息中;
读取用于生成EXCEL文件的数据信息,所述数据信息位于所述JSON文件中的对象实体信息中,一个对象实体信息中的数据信息用于生成一个EXCEL文件的工作表WorkSheet。
较优地,一个对象实体信息中的数据信息包含多个对象数组,每个对象数组对应一个工作表WorkSheet的一行;
所述将排版单元203,具体用于:
将多个对象数组中的第一对象数组排版为所述第一对象数组所属的对象实体信息所对应的WorkSheet的一行。
较优地,所述EXCEL文件的属性信息包含EXCEL文件的路径信息,EXCEL文件名,WorkSheet名称;
所述生成单元204,具体用于:根据所述EXCEL文件的路径信息及所述EXCEL文件名,创建EXCEL对象;
根据所述EXCEL对象及所述WorkSheet名称,创建WorkSheet对象;
根据所述排版结果,设置与所述WorkSheet对象对应的WorkSheet。
较优地,所述装置还包括返回单元205,用于将所述生成的EXCEL文件进行加密后返回给所述客户端;或者
将所述生成的EXCEL文件存储在预先设定的地址,以及向客户端返回EXCEL文件转换成功的消息。
本申请实施例提供的方法,服务器接收客户端发送的HTTP请求,根据该请求中包含JSON文件,然后读取所述JSON文件中的基本元素信息,并将基本元素信息中的数据信息按照EXCEL文件的排版格式进行排版并获取排版结果,然后调用C++语言函数库将该排版结果生成EXCEL文件。该方法中通过接收客户端发送的HTTP请求,即通过API接口实现调用而不依赖于第三方的虚拟机、应用服务器或程序库,具有最小的系统依赖性,容易部署,简单小巧,因此具有很好的跨平台能力,并发能力以及便捷性;同时,由于JSON文件的数组格式,使得JSON文件的数据信息进行EXCEL文件格式排版操作简单;也使得排版结果可适用于调用C++语言函数。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种JSON文件转换为EXCEL文件的方法,其特征在于,所述方法包括:
接收客户端发送的HTTP请求,所述HTTP请求中包含JSON文件;
读取所述JSON文件中的基本元素信息,所述基本元素信息包含用于生成EXCEL文件的属性信息和数据信息;
将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果;
调用C++语言函数库,根据所述属性信息和所述排版结果生成EXCEL文件。
2.如权利要求1所述的方法,其特征在于,所述读取JSON文件中的基本元素信息,包括:
读取用于生成EXCEL文件的属性信息,所述属性信息位于所述JSON文件中对象头信息中;
读取用于生成EXCEL文件的数据信息,所述数据信息位于所述JSON文件中的对象实体信息中,一个对象实体信息中的数据信息用于生成一个EXCEL文件的工作表WorkSheet。
3.如权利要求2所述的方法,其特征在于,一个对象实体信息中的数据信息包含多个对象数组,每个对象数组对应一个工作表WorkSheet的一行;
所述将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果,包括:
将多个对象数组中的第一对象数组排版为所述第一对象数组所属的对象实体信息所对应的WorkSheet的一行。
4.如权利要求2所述的方法,其特征在于,所述EXCEL文件的属性信息包含EXCEL文件的路径信息,EXCEL文件名,WorkSheet名称;
所述调用C++语言函数库,根据所述属性信息和所述排版结果生成EXCEL文件,包括:
根据所述EXCEL文件的路径信息及所述EXCEL文件名,创建EXCEL对象;
根据所述EXCEL对象及所述WorkSheet名称,创建WorkSheet对象;
根据所述排版结果,设置与所述WorkSheet对象对应的WorkSheet。
5.如权利要求1所述的方法,其特征在于,在所述调用C++语言函数库将所述获取的排版结果生成EXCEL文件之后,还包括:
将所述生成的EXCEL文件进行加密后返回给所述客户端;或者
将所述生成的EXCEL文件存储在预先设定的地址,以及向客户端返回EXCEL文件转换成功的消息。
6.一种JSON文件转换为EXCEL文件的装置,其特征在于,所述装置包括:
接收单元,用于接收客户端发送的HTTP请求,所述HTTP请求中包含JSON文件;
读取单元,用于读取所述JSON文件中的基本元素信息,所述基本元素信息包含用于生成EXCEL文件的属性信息和数据信息;
排版单元,用于将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果;
生成单元,用于调用C++语言函数库,根据所述属性信息和所述排版结果生成EXCEL文件。
7.如权利要求6所述的装置,其特征在于,所述读取单元,用于:
读取用于生成EXCEL文件的属性信息,所述属性信息位于所述JSON文件中对象头信息中;
读取用于生成EXCEL文件的数据信息,所述数据信息位于所述JSON文件中的对象实体信息中,一个对象实体信息中的数据信息用于生成一个EXCEL文件的工作表WorkSheet。
8.如权利要求7所述的装置,其特征在于,一个对象实体信息中的数据信息包含多个对象数组,每个对象数组对应一个工作表WorkSheet的一行;
所述将排版单元,具体用于:
将多个对象数组中的第一对象数组排版为所述第一对象数组所属的对象实体信息所对应的WorkSheet的一行。
9.如权利要求7所述的装置,其特征在于,所述EXCEL文件的属性信息包含EXCEL文件的路径信息,EXCEL文件名,WorkSheet名称;
所述生成单元,具体用于:
根据所述EXCEL文件的路径信息及所述EXCEL文件名,创建EXCEL对象;
根据所述EXCEL对象及所述WorkSheet名称,创建WorkSheet对象;
根据所述排版结果,设置与所述WorkSheet对象对应的WorkSheet。
10.如权利要求6所述的装置,其特征在于,在所述调用C++语言函数库将所述获取的排版结果生成EXCEL文件之后,还包括:
返回单元,用于将所述生成的EXCEL文件进行加密后返回给所述客户端;或者
将所述生成的EXCEL文件存储在预先设定的地址,以及向客户端返回EXCEL文件转换成功的消息。
CN201510475827.2A 2015-08-05 2015-08-05 一种json文件转换为excel文件的方法及装置 Active CN105117378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510475827.2A CN105117378B (zh) 2015-08-05 2015-08-05 一种json文件转换为excel文件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510475827.2A CN105117378B (zh) 2015-08-05 2015-08-05 一种json文件转换为excel文件的方法及装置

Publications (2)

Publication Number Publication Date
CN105117378A true CN105117378A (zh) 2015-12-02
CN105117378B CN105117378B (zh) 2017-10-31

Family

ID=54665372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510475827.2A Active CN105117378B (zh) 2015-08-05 2015-08-05 一种json文件转换为excel文件的方法及装置

Country Status (1)

Country Link
CN (1) CN105117378B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021220A (zh) * 2016-06-01 2016-10-12 网易(杭州)网络有限公司 表格检测方法及装置
CN106528102A (zh) * 2016-10-31 2017-03-22 中国银行股份有限公司 一种读取、生成Excel文档的方法及装置
CN106815181A (zh) * 2016-12-19 2017-06-09 广东小天才科技有限公司 一种InDesign排版的indd文件到Office文件的转换方法及装置
CN108875029A (zh) * 2018-06-22 2018-11-23 国网北京市电力公司 数据处理方法及装置、存储介质和处理器
CN109117468A (zh) * 2018-08-01 2019-01-01 北京数字雷暴信息科技有限公司 一种数据处理方法和装置
CN109308224A (zh) * 2017-07-27 2019-02-05 阿里巴巴集团控股有限公司 跨平台数据通信、跨平台数据处理的方法、装置及系统
CN109344193A (zh) * 2018-10-24 2019-02-15 中国银行股份有限公司 一种将结构化数据转化为非结构化数据的方法及系统
CN109408780A (zh) * 2018-09-07 2019-03-01 山东中磁视讯股份有限公司 一种Excel文件转换为JSON文件的方法
CN109684608A (zh) * 2017-10-19 2019-04-26 航天信息股份有限公司 一种基于数据库通过生成 excel 文档的方法及系统
CN110059303A (zh) * 2019-04-23 2019-07-26 中铁电气化局集团有限公司 Excel文件转换为JSON文件的方法及装置
CN110162307A (zh) * 2019-04-18 2019-08-23 福建星云电子股份有限公司 一种将json文件转换为dll文件的方法及装置
CN110738023A (zh) * 2019-10-17 2020-01-31 深圳旗鱼体育传播有限公司 一种将json天气数据转换为jpeg图片的系统及方法
CN111931471A (zh) * 2020-08-31 2020-11-13 平安银行股份有限公司 表单收集方法、装置、电子设备及存储介质
WO2020259141A1 (zh) * 2019-06-27 2020-12-30 深圳前海微众银行股份有限公司 一种文件处理方法、装置及计算机设备
WO2021027592A1 (zh) * 2019-08-14 2021-02-18 深圳前海微众银行股份有限公司 文件处理方法、装置、设备及计算机可读存储介质
CN116319718A (zh) * 2023-03-10 2023-06-23 北京振中电子技术有限公司 一种云数据存储处理方法、系统、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620636A (zh) * 2009-08-21 2010-01-06 腾讯科技(北京)有限公司 一种显示表格数据的方法和装置
CN101968783A (zh) * 2010-09-19 2011-02-09 深圳市万兴软件有限公司 一种XML文档转换为Excel文档的方法及装置
CN102306255A (zh) * 2011-08-29 2012-01-04 飞天诚信科技股份有限公司 一种文档保护方法及系统
US20130117648A1 (en) * 2011-11-03 2013-05-09 Knowledge Inside Spreadsheet data processing method and system
CN103646016A (zh) * 2013-12-30 2014-03-19 金蝶软件(中国)有限公司 财务报表自定义的实现方法和服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620636A (zh) * 2009-08-21 2010-01-06 腾讯科技(北京)有限公司 一种显示表格数据的方法和装置
CN101968783A (zh) * 2010-09-19 2011-02-09 深圳市万兴软件有限公司 一种XML文档转换为Excel文档的方法及装置
CN102306255A (zh) * 2011-08-29 2012-01-04 飞天诚信科技股份有限公司 一种文档保护方法及系统
US20130117648A1 (en) * 2011-11-03 2013-05-09 Knowledge Inside Spreadsheet data processing method and system
CN103646016A (zh) * 2013-12-30 2014-03-19 金蝶软件(中国)有限公司 财务报表自定义的实现方法和服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈东方 等: "基于C++ Builder的考试排课管理系统与Excel的数据交互", 《电脑与电信》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021220B (zh) * 2016-06-01 2019-03-19 网易(杭州)网络有限公司 表格检测方法及装置
CN106021220A (zh) * 2016-06-01 2016-10-12 网易(杭州)网络有限公司 表格检测方法及装置
CN106528102A (zh) * 2016-10-31 2017-03-22 中国银行股份有限公司 一种读取、生成Excel文档的方法及装置
CN106815181A (zh) * 2016-12-19 2017-06-09 广东小天才科技有限公司 一种InDesign排版的indd文件到Office文件的转换方法及装置
CN106815181B (zh) * 2016-12-19 2020-07-28 广东小天才科技有限公司 一种InDesign排版的indd文件到Office文件的转换方法及装置
CN109308224A (zh) * 2017-07-27 2019-02-05 阿里巴巴集团控股有限公司 跨平台数据通信、跨平台数据处理的方法、装置及系统
CN109684608A (zh) * 2017-10-19 2019-04-26 航天信息股份有限公司 一种基于数据库通过生成 excel 文档的方法及系统
CN108875029A (zh) * 2018-06-22 2018-11-23 国网北京市电力公司 数据处理方法及装置、存储介质和处理器
CN109117468A (zh) * 2018-08-01 2019-01-01 北京数字雷暴信息科技有限公司 一种数据处理方法和装置
CN109408780A (zh) * 2018-09-07 2019-03-01 山东中磁视讯股份有限公司 一种Excel文件转换为JSON文件的方法
CN109344193A (zh) * 2018-10-24 2019-02-15 中国银行股份有限公司 一种将结构化数据转化为非结构化数据的方法及系统
CN109344193B (zh) * 2018-10-24 2020-09-15 中国银行股份有限公司 一种将结构化数据转化为非结构化数据的方法及系统
CN110162307A (zh) * 2019-04-18 2019-08-23 福建星云电子股份有限公司 一种将json文件转换为dll文件的方法及装置
CN110162307B (zh) * 2019-04-18 2022-11-11 福建星云电子股份有限公司 一种将json文件转换为dll文件的方法及装置
CN110059303A (zh) * 2019-04-23 2019-07-26 中铁电气化局集团有限公司 Excel文件转换为JSON文件的方法及装置
CN110059303B (zh) * 2019-04-23 2023-02-07 中铁电气化局集团有限公司 Excel文件转换为JSON文件的方法及装置
WO2020259141A1 (zh) * 2019-06-27 2020-12-30 深圳前海微众银行股份有限公司 一种文件处理方法、装置及计算机设备
WO2021027592A1 (zh) * 2019-08-14 2021-02-18 深圳前海微众银行股份有限公司 文件处理方法、装置、设备及计算机可读存储介质
CN110738023A (zh) * 2019-10-17 2020-01-31 深圳旗鱼体育传播有限公司 一种将json天气数据转换为jpeg图片的系统及方法
CN111931471A (zh) * 2020-08-31 2020-11-13 平安银行股份有限公司 表单收集方法、装置、电子设备及存储介质
CN111931471B (zh) * 2020-08-31 2024-04-16 平安银行股份有限公司 表单收集方法、装置、电子设备及存储介质
CN116319718A (zh) * 2023-03-10 2023-06-23 北京振中电子技术有限公司 一种云数据存储处理方法、系统、设备及介质
CN116319718B (zh) * 2023-03-10 2023-12-12 北京振中电子技术有限公司 一种云数据存储处理方法、系统、设备及介质

Also Published As

Publication number Publication date
CN105117378B (zh) 2017-10-31

Similar Documents

Publication Publication Date Title
CN105117378A (zh) 一种json文件转换为excel文件的方法及装置
US11003846B2 (en) Smarter copy/paste
CN107832045B (zh) 跨编程语言接口转换的方法和装置
TWI682653B (zh) 短連結解析方法、裝置及設備
CN109274731B (zh) 基于多租户技术的web服务的部署、调用方法和装置
CN108140007B (zh) 跨部署位置安全地部署应用程序
US9552343B2 (en) System and method for convergent document collaboration
WO2021184725A1 (zh) 用户界面测试方法、装置、存储介质及计算机设备
TW202016761A (zh) 資料的處理方法、裝置及設備
CN107256206B (zh) 字符流格式转换的方法和装置
CN107943465B (zh) 一种生成html表单的方法及装置
CN108958744B (zh) 大数据分布式集群的部署方法、装置、介质及电子设备
CN110689268B (zh) 一种提取指标的方法和装置
EP3279816A1 (en) Data analysis processing method, apparatus, computer device, and storage medium
WO2015000259A1 (zh) 构建超大字库的方法及装置、字符显示方法及装置
US20190005228A1 (en) Trusted and untrusted code execution in a workflow
CN111767498A (zh) 一种实现文件信息共享的方法和装置
CN110647371A (zh) 一种基于业务配置的多语言资源文件解析方法和系统
CN115470767A (zh) 一种文档处理方法、装置、电子设备及计算机可读介质
CN112507677A (zh) 一种电子表单录入及展示的方法和装置
CN113743055A (zh) 文本信息处理方法、装置、电子设备、服务器及存储介质
US9519632B1 (en) Web document annotation service
CN112256737B (zh) 一种hive规则匹配数据的方法、设备及存储介质
CN110705935A (zh) 一种物流单据的处理方法和装置
US11443101B2 (en) Flexible pseudo-parsing of dense semi-structured text

Legal Events

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