一种json文件转换为excel文件的方法及装置的制造方法

文档序号:9396844阅读:409来源:国知局
一种json文件转换为excel文件的方法及装置的制造方法
【技术领域】
[0001 ] 本发明涉及文档数据处理领域,尤其涉及一种JSON文件转换为EXCEL文件的方法 及装置。
【背景技术】
[0002] Microsoft Excel是微软办公套装软件的一个重要组成部分,它可以进行各种数 据的处理和统计分析操作,广泛地应用于管理、统计财经、金融等众多领域。是当今最为重 要信息载体。随着信息技术的发展,目前许多的智能化平台都需要产生各种庞大的数据,而 很多资料和报表都以EXCEL文件方式保存和查询,因此EXCEL数据的生成是非常重要的。
[0003] 现在业界比较流行的几种转换为Excel格式文件的方案包括:
[0004] 方案一、调用某些数据库软件提供的转换功能生成Excel文件;
[0005] 方案二、通过调用MS-Excel的自动化Com接口创建Excel报表和数据的写入,生 成的次序是建立WorkBook (工作簿)、Worksheet (工作表)和写入数据;
[0006] 方案三、通过调用一些较成熟的开源文档编辑软件的接口实现MS-Excel基本信 息的写入,较流行的是调用OpenOffice的应用程序编程接口(Application Programming Interface,API)接口来实现Excel文档的生成。
[0007] 传统生成Excel文件的方法虽然是主流的,但是在特定场合还是会体现出一些不 足,下面列举一些:
[0008] 方案一的缺点:由于大部分数据库软件仅仅提供一些将已知数据转换为基本表格 的功能,当碰到单元格合并、表头设置和数据类型设置的情况会无能无力,且需要第三方软 件的支持。
[0009] 方案二的缺点=MS-Excel的Com接口对配置环境和输入数据的格式要求较高,在 频繁多次调用的情况下,经常会出现程序挂掉的情况;另外,由于每输入一个单元(Cell) 数据都会涉及到一次Com调用,所以此方案的效率较低,占用系统资源较多,造成机器负载 较重。最后,此方案只能是在Windows环境下运行,不具备跨平台的优势。
[0010] 方案三的缺点:由于xlsx文件的内部格式没有公开,所以当今一些主流的开源软 件对其支持的并不完美,经常会造成元素丢失和排版混乱的情况,需要很大的开发工作量。 [0011] 另外,目前电商企业中的服务器资源大部分以Linux系统为主,大量核心服务都 是运行在Linux环境下,它的高性能和高可靠性已经成为业界的标准。但是在用户层面上, 大部分PC还是以Windows操作系统为主,Excel文件也是运行在Windows平台下,如何利 用Linux操作系统资源,在Linux环境下,构建一个高可用的微服务生成Excel文件,也成 为了 一个文档数据处理领域的发展方向之一。

【发明内容】

[0012] 本发明提供一种JSON文件转换为EXCEL文件的方法和装置,用以解决现有技术中 存在的生成EXCEL文件时无法实现跨平台,以及需要依赖于第三方虚拟机、应用服务器或 程序库的问题,该发明提供的方法具有最小的系统依赖性,容易部署,简单小巧且可实现跨 平台应用。
[0013] 本申请提供的一种JSON文件转换为EXCEL文件的方法,该方法包括:
[0014] 接收客户端发送的HTTP请求,所述HTTP请求中包含JSON文件;
[0015] 读取所述JSON文件中的基本元素信息,所述基本元素信息包含用于生成EXCEL文 件的数据信息;
[0016] 将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版结果;
[0017] 调用C++语言函数库将所述排版结果生成EXCEL文件。
[0018] 本申请提供一种一种JSON文件转换为EXCEL文件的装置,该装置包括:
[0019] 接收单元,用于接收客户端发送的HTTP请求,所述HTTP请求中包含JSON文件;
[0020] 读取单元,用于读取所述JSON文件中的基本元素信息,所述基本元素信息包含用 于生成EXCEL文件的数据信息;
[0021] 排版单元,用于将所述数据信息按照EXCEL文件的排版格式进行排版并获取排版 结果;
[0022] 生成单元,用于调用C++语言函数库将所述排版结果生成EXCEL文件。
[0023] 本申请实施例提供的方法,服务器接收客户端发送的HTTP请求,根据该请求中包 含JSON文件,然后读取所述JSON文件中的基本元素信息,并将基本元素信息中的数据信息 按照EXCEL文件的排版格式进行排版并获取排版结果,然后调用C++语言函数库将该排版 结果生成EXCEL文件。该方法中通过接收客户端发送的HTTP请求,即通过API接口实现调 用而不依赖于第三方的虚拟机、应用服务器或程序库,具有最小的系统依赖性,容易部署, 简单小巧,因此具有很好的跨平台能力,并发能力以及便捷性;同时,由于JSON文件的数组 格式,使得JSON文件的数据信息进行EXCEL文件格式排版操作简单;也使得排版结果可适 用于调用C++语言函数。
【附图说明】
[0024] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0025] 图1为本申请实施例提供的JSON文件转换为EXCEL文件的流程示意图;
[0026] 图2为本申请实施例提供的JSON文件转换为EXCEL文件的装置示意图。
【具体实施方式】
[0027] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本发明保护的范围。
[0028] JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 ECMAScript的一个子集,JSON采用完全独立于语言的文本格式,但是也使用了类似于C语 言家族的习惯(包括c、C++、C#、Java、JavaScript、Perl、Python等),这些特性使JSON成 为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。
[0029] 本申请提供的JSON文件转换EXCEL文件的方法,可看成是一个轻量级服务,外部 系统可首先通过自身的系统功能将数据生成为JSON格式的文件,然后通过API接口调用本 申请提供的微服务,通过该微服务可实现将JSON文件转换为EXCEL文件,然后将生成EXCEL 文件加密后以返回给该外部系统。
[0030] 如图1所示,为本申请提供的一种JSON文件转换为EXCEL文件的方法流程示意 图,该流程在服务器执行。
[0031] 步骤101,接收客户端发送的HTTP请求;
[0032] 步骤102,读取JSON文件中的基本元素信息;
[0033] 步骤103,将基本元素信息中的数据信息按照EXCEL文件的排版格式进行排版并 获取排版结果;
[0034] 步骤104,调用C++语言函数库将排版结果生成EXCEL文件。
[0035] 其中,在步骤101中的客户端可以是某个软件系统的子系统,该子系统发送HTTP JSON的请求到服务器,并通过API接口调用该本申请提供的文件转换方法,通过调用本申 请实施例提供的方法,将JSON文件转换为EXCEL文件后,由服务器返回给客户端。
[0036] 本申请中客户端提交给服务器的请求的提交方式为POST,文件格式为JSON,HTTP 协议路径参数为/json2xlsx〇
[0037] 其中该API接口可以以表1的方式定义:
[0039] 表1本申请实施例提供的JSON文件的参数信息
[0040] 例如,本申请实施例中客户端通过HTTP请求发送给服务器的JSON文件的信息头 可以是如下格式:
[0041] POST http://10. 10. 77. 94:6001/json2xlsx/HTTP/l. I
[0042] User-Agent:Fiddler
[0043] Content-Type: application/json
[0044] Host: 10. 10. 77. 94:6001
[0045] 在步骤102中,根据客户端发送的HTTP请求中包含的JSON文件,可读取该JSON 文件中包含的基本元素信息,该基本元素信息中至少包含待生成EXCEL文件中所需要的属 性信息和数据信息;其中,属性信息位于所述JSON文件中对象头信息中;数据信息位于所 述JSON文件中的对象实体信息中,一个对象实体信息中的数据信息用于生成一个EXCEL文 件的工作表Worksheet。
[0046] 较优地,所述读取JSON文件中的基本元素信息,包括:
[0047] 读取用于生成EXCEL文件的属性信息,所述属性信息位于所述JSON文件中对象头 信息中;
[0048] 读取用于生成EXCEL文件的数据信息,所述数据信息位于所述JSON文件中的 对象实体信息中,一个对象实体信息中的数据信息用于生成一个EXCEL文件的工作表 Worksheet。
[0049] 在JSON文件中,可将要生成的EXCEL文件的属性信息携带于JSON文件的对象头 信息中,将要生成EXCEL文件的数据信息携带于JSON文件的对象实体信息中,发送给服务 器,当服务器接收到该JSON文件后,可从JSON文件的对象头信息中读取EXCEL文件的属 性信息用于创建EXCEL文件,从JSON文件的对象实体信息中读取EXCLE文件的数据信息 用于设置EXCEL文件的各个工作表
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1