CN110516207B - 一种json文件和excel文件相互转化方法 - Google Patents

一种json文件和excel文件相互转化方法 Download PDF

Info

Publication number
CN110516207B
CN110516207B CN201910709633.2A CN201910709633A CN110516207B CN 110516207 B CN110516207 B CN 110516207B CN 201910709633 A CN201910709633 A CN 201910709633A CN 110516207 B CN110516207 B CN 110516207B
Authority
CN
China
Prior art keywords
data
file
json
excel
creating
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.)
Active
Application number
CN201910709633.2A
Other languages
English (en)
Other versions
CN110516207A (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.)
Shenzhen Phoenix Telecom Technology Co ltd
Original Assignee
Shenzhen Phoenix Telecom Technology 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 Shenzhen Phoenix Telecom Technology Co ltd filed Critical Shenzhen Phoenix Telecom Technology Co ltd
Priority to CN201910709633.2A priority Critical patent/CN110516207B/zh
Publication of CN110516207A publication Critical patent/CN110516207A/zh
Application granted granted Critical
Publication of CN110516207B publication Critical patent/CN110516207B/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文件相互转化的方法,包括数据库和操作系统,包括如下步骤:1:创建Data数据结构;2:读取JSON配置文件的数据;3:将JSON文件数据反序列化字符串为对象;4:创建Excel文件;5:将数据保存到Excel文件;6:读取Excel中的数据;7:将数据保存到Data对象中;8:将Data对象转换成JSON格式字符串;9:将数据保存到JSON文件。本发明在于提供一种节省时间,大大提高工作效率,易于数据转化的一种JSON文件和Excel文件相互转化的方法。

Description

一种JSON文件和EXCEL文件相互转化方法
技术领域
本发明涉及一种文件格式转换技术,尤其涉及一种JSON文件和EXCEL文件相互转化的方法。
背景技术
在软件开发上,当产品面向不同国家地区的用户的时候,操作系统上需要提供多种语言的支持,实现这种需求一般是将不同的语言描述设置成配置文件,当软件系统运行时,根据不同的语言环境或者根据用户选择,系统调用相应的语言配置文件,以达到支持用户需要的语言。
在多语言的实现过程中,需要将翻译人员提供的翻译数据转换成操作系统可用的配置文件。由于翻译人员使用的Excel文件来存储翻译数据,而操作系统中使用的却并非Excel文件作为配置文件,因此在翻译人员提供翻译好的Excel文件后,在传统的做法中,还需要通过人工将Excel中的数据复制粘贴到软件系统中的语言配置文件中,这种方式在数据量少的时候是可行的,但当数据量达到上千上万的时候,这种人工操作的方式就不太现实了,需要耗费大量的时间,严重影响到工作效率。因此,需要一种便捷有效的解决方式来解决此问题。
中国专利申请号为201811043603.4,申请日:2018年09月07日,公开日:2019年03月01日,专利名称是:一种Excel文件转换为JSON文件的方法,该发明公开了一种文件格式转换技术,包括以下几个步骤:步骤A:接收客户端请求的Excel数据;步骤B:以Datatable形式读取Excel数据内的数据,然后遍历Datatable数据为List,最后对List进行反序得到JSON数据;步骤C:接收客户端发送的HTTP请求,读取JSON文件中的基本元素信息然后将信息按照EXCEL文件的排版格式进行排版并获取排版结果;步骤D:调用C++语言函数库将排版结果生成EXCEL文件,获得后将EXCEL文件发送至客户端。与现有技术相比,通过将Excel文件转换为JSON文件方便进行网络HTTP请求使用,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
上述专利文献虽然公开了一种Excel文件转换为JSON文件的方法,但是该方法也无法及时更改系统参数,系统维护成本高,不能适应时代发展的需要。
发明内容
本发明目的是克服现有技术的不足,提供一种节省时间,大大提高工作效率,易于数据转化的一种JSON文件和Excel文件相互转化的方法。
为了实现本发明目的,可以采取以下技术方案:
一种JSON文件和EXCEL文件相互转化的方法,包括数据库和操作系统,该方法包括如下步骤:
步骤1:创建Data数据结构;
步骤2:读取JSON配置文件的数据;
步骤3:将JSON文件数据反序列化字符串为对象;
步骤4:创建Excel文件;
步骤5:将数据保存到Excel文件;
步骤6:读取Excel中的数据;
步骤7:将数据保存到Data对象中;
步骤8:将Data对象转换成JSON格式字符串;
步骤9:将数据保存到JSON文件。
所述步骤1创建Data数据结构是,建立一个专用于数据转换的中间类结构Data类,用于存储JSON格式的数据。
所述步骤2读取JSON配置文件的数据是使用File类的ReadAllText方法将JSON文件中的文本数据全部读取出来,然后存于string变量中。
所述步骤3将JSON文件数据反序列化字符串为对象是使用Newtonsoft.Json库的JsonConvert类的DeserializeObject方法将JSON字符串数据反序列化成Data类的对象数据。
所述步骤4创建Excel文件包括如下步骤:
1、创建一个XSSFWorkbook对象来初始化IWorkbook对象;
2、使用IWorkbook对象的CreateSheet方法来创建Excel中的Sheet;
3、使用C#的File类的Create方法创建Excel文件;
4、使用IWorkbook对象的Write方法将创建的工作簿及Sheet写入Excel
文件中。
所述步骤5将数据保存到Excel文件包括如下步骤:
1、使用FileStream打开文件;
2、使用NPOI库的XSSFWorkbook对象来初始化一个IWorkbook对象打开Excel文件;
3、使用IWorkbook对象的GetSheetAt方法打开要写入数据的Sheet初始化一个ISheet对象;
4、使用ISheet对象的CreateRow方法创建一个数据行初始化IRow对象;
5、使用IRow对象的CreateCell方法创建一个单元格ICell对象;
6、使用ICell对象的SetCellValue将数据写入到单元格中;
7、使用IWorkbook对象将数据写入到FileStream对象中;
8、使用FileStream对象的Write方法将数据写入到Excel文件。
所述步骤6读取Excel中的数据包括如下步骤:
1、使用FileStream类文件打开Excel文件;
2、使用NPOI库的XSSFWorkbook类根据打开的文件初始化IWorkbook对象;
3、使用IWorkbook对象的GetSheetName方法打开需要读取数据的Sheet文件;
4、使用IWorkbook的GetSheet方法根据获取到的Sheet名来初始化ISheet对象;
5、使用ISheet对象的GetRow方法获取要读取的数据行的IRow对象;
6、使用IRow对象的GetCell方法来获取单元格的数据。
所述步骤7将数据保存到Data对象中包括创建一个Data对象,将读取后的数据依次按键值对的方式存储到Data对象中。
所述步骤8将Data对象转换成JSON格式字符串包括读取Excel数据存储到Data对象后,通过JsonConvert的SerializeObject方法将Data对象序列化成json字符串。
所述步骤9将数据保存到JSON文件是使用StreamWrite类的WriteLine方法将JSON字符串数据写入到JSON文件中。
本发明的有益效果是:1、本发明提供了JSON文件和EXCEL文件相互转化的方法,提高开发人员与翻译人员在工作对接上的效率,减少对接时间;2、本发明避免软件翻译中人工复制粘贴引起的数据错误或丢失;3、本发明操作简便,使开发人员与翻译人员按需转换出自己工作中需要的文件,可以做到无缝对接。
附图说明
图1为本发明实施例一种JSON文件和EXCEL文件相互转化的方法流程图。
具体实施方式
下面结合附图及本发明的实施例对发明作进一步详细的说明。
实施例1
本发明所述的一种JSON文件和EXCEL文件相互转化的方法是由于计算机的数据处理能力比人工要快很多,因此可以通过实现一种自动转换的数据文件格式来替代人工操作,以此来达到提高效率。
由于翻译人员提供的数据形式是Excel形式,操作系统中使用的配置文件是json文件,因此可以使用现有的Excel文件数据库及json数据库来实现互相转换。本发明是使用基于C#的NPOI库及Newtonsoft.Json库。
参看图1,该一种JSON文件和EXCEL文件相互转化的方法,包括数据库和操作系统,该方法包括如下步骤:
步骤1:创建Data数据结构S1;
步骤2:读取JSON配置文件的数据S2;
步骤3:将JSON文件数据反序列化字符串为对象S3;
步骤4:创建Excel文件S4;
步骤5:将数据保存到Excel文件S5;
步骤6:读取Excel中的数据S6;
步骤7:将数据保存到Data对象中S7;
步骤8:将Data对象转换成JSON格式字符串S8;
步骤9:将数据保存到JSON文件S9。
所述步骤1创建Data数据结构是,建立一个专用于数据转换的中间类结构Data类,用于存储JSON格式的数据。
本发明为了为了数据转换过程中的操作方便,建立一个专门用于数据转换的中间类结构Data类,用于存储json格式的数据。该类只需要一个Dicti onary类型的数据,以便存储json的键值对。
所述步骤2读取JSON配置文件的数据是使用File类的ReadAllText方法将JSON文件中的文本数据全部读取出来,然后存于string变量中。
本实施例中,所述步骤2使用的是C#中的File类的ReadAllText方法将JSON文件中的文本数据全部读取出来,然后存于string变量中,用于后续使用。
所述步骤3将JSON文件数据反序列化字符串为对象是使用Newtonsoft.Json库的JsonConvert类的DeserializeObject方法将JSON字符串数据反序列化成Data类的对象数据。
本实施例中,在将json数据读取出来后,因为存在string变量中,没法对其进行结构化的操作,因此可以将其转换成前面定义的Data类的对象数据来进行操作,此过程使用Newtonsoft.Json库的JsonConvert类的Deseriali zeObject方法将json字符串数据反序列化成Data类的对象数据,这样在后面的处理中就可以直接使用操作对象的方式来操作json数据的键值对了。
所述步骤4创建Excel文件包括如下步骤:
1、创建一个XSSFWorkbook对象来初始化IWorkbook对象;
2、使用IWorkbook对象的CreateSheet方法来创建Excel中的Sheet;
3、使用C#的File类的Create方法创建Excel文件;
4、使用IWorkbook对象的Write方法将创建的工作簿及Sheet写入Excel
文件中。
本实施例中,因为需要将json数据转换成Excel数据,因此在将数据存入为Excel数据前需要先创建一个Excel文件,用来存储处理后的数据。此处用到NPOI库的IWorkbook、ISheet。
创建一个XSSFWorkbook对象来初始化IWorkbook对象,用于创建Exc el 2007以上版本的Excel文件的工作簿,然后使用IWorkbook对象的Creat eSheet方法来创建Excel中的Sheet(默认新建的Excel文件必须含有Sheet,不然打开会出错),然后使用C#的File类的Create方法创建Excel文件,然后使用IWorkbook对象的Write方法将前面创建的工作簿及Sheet写入Ex cel文件中。
所述步骤5将数据保存到Excel文件包括如下步骤:
1、使用FileStream打开文件;
2、使用NPOI库的XSSFWorkbook对象来初始化一个IWorkbook对象打开Excel文件;
3、使用IWorkbook对象的GetSheetAt方法打开要写入数据的Sheet初始化一个ISheet对象;
4、使用ISheet对象的CreateRow方法创建一个数据行初始化IRow对象;
5、使用IRow对象的CreateCell方法创建一个单元格ICell对象;
6、使用ICell对象的SetCellValue将数据写入到单元格中;
7、使用IWorkbook对象将数据写入到FileStream对象中;
8、使用FileStream对象的Write方法将数据写入到Excel文件。
本实施例中,在创建好Excel文件后,就可以向Excel文件写入数据了,首先使用C#的FileStream打开文件,然后使用NPOI库的XSSFWorkbook对象来初始化一个IWorkbook对象打开Excel文件,然后使用IWorkbook对象的GetSheetAt方法打开要写入数据的Sheet初始化一个ISheet对象,然后再使用ISheet对象的CreateRow方法创建一个数据行初始化IRow对象,然后再使用IRow对象的CreateCell方法创建一个单元格ICell对象,再使用ICell对象的SetCellValue将数据写入到单元格中,然后使用IWorkbook对象将数据写入到FileStream对象中,再使用FileStream对象的Write方法将数据写入文件。
上述所述是一种JSON文件转化为EXCEL文件的方法。
实施例2
参看图1,与上述实施例的不同之处在于,本发明还可以将一种EXCEL文件转化为JSON文件,该方法包括如下步骤:
步骤1:读取Excel中的数据;
步骤2:将数据保存到Data对象中;
步骤3:将Data对象转换成JSON格式字符串;
步骤4:将数据保存到JSON文件。
所述步骤1读取Excel中的数据包括如下步骤:
1、使用FileStream类文件打开Excel文件;
2、使用NPOI库的XSSFWorkbook类根据打开的文件初始化IWorkbook对象;
3、使用IWorkbook对象的GetSheetName方法打开需要读取数据的Sheet文件;
4、使用IWorkbook的GetSheet方法根据获取到的Sheet名来初始化ISheet对象;
5、使用ISheet对象的GetRow方法获取要读取的数据行的IRow对象;
6、使用IRow对象的GetCell方法来获取单元格的数据。
本实施例中,使用C#的FileStream类打开Excel文件,然后使用NPOI库的XSSFWorkbook类根据打开的文件初始化IWorkbook对象,使用IWorkbook对象的GetSheetName方法打开需要读取数据的Sheet,然后再使用IWorkbook的GetSheet方法根据获取到的Sheet名来初始化ISheet对象,然后使用ISheet对象的GetRow方法获取要读取的数据行的IRow对象,然后再使用IRow对象的GetCell方法来获取单元格的数据。
所述步骤2将数据保存到Data对象中包括创建一个Data对象,将读取后的数据依次按键值对的方式存储到Data对象中。
本实施例中,所述创建一个Data对象,是将读取后的数据依次按键值对的方式存储到Data对象中。
本实施例中,所述步骤3将Data对象转换成JSON格式字符串可以是读取Excel数据存储到Data对象后,通过Newtonsoft.Json库的JsonConvert类的SerializeObject方法将Data对象序列化成json字符串。
所述步骤4将数据保存到JSON文件是使用C#的StreamWrite类的WriteLine方法将JSON字符串数据写入到JSON文件中。
本发明所述JSON文件转化为EXCEL文件方法或者EXCEL文件转化为JSON文件方法,两种方法是可以相互转化的。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (6)

1.一种JSON文件和EXCEL文件相互转化方法,包括数据库和操作系统,其特征在于:该方法包括如下步骤:
步骤1:创建Data数据结构;
步骤2:读取JSON配置文件的数据;
步骤3:将JSON文件数据反序列化字符串为对象;
所述步骤3将JSON文件数据反序列化字符串为对象是使用Newtonsoft.Json库的JsonConvert类的DeserializeObject方法将JSON字符串数据反序列化成Data类的对象数据;
步骤4:创建Excel文件;所述步骤4创建Excel文件包括如下步骤:
1、创建一个XSSFWorkbook对象来初始化IWorkbook对象;
2、使用IWorkbook对象的CreateSheet方法来创建Excel中的Sheet;
3、使用C#的File类的Create方法创建Excel文件;
4、使用IWorkbook对象的Write方法将创建的工作簿及Sheet写入Excel文件中;
步骤5:将数据保存到Excel文件;所述步骤5将数据保存到Excel文件包括如下步骤:
1、使用FileStream打开文件;
2、使用NPOI库的XSSFWorkbook对象来初始化一个IWorkbook对象打开Excel文件;
3、使用IWorkbook对象的GetSheetAt方法打开要写入数据的Sheet初始化一个ISheet对象;
4、使用ISheet对象的CreateRow方法创建一个数据行初始化IRow对象;
5、使用IRow对象的CreateCell方法创建一个单元格ICell对象;
6、使用ICell对象的SetCellValue将数据写入到单元格中;
7、使用IWorkbook对象将数据写入到FileStream对象中;
8、使用FileStream对象的Write方法将数据写入到Excel文件;
步骤6:读取Excel中的数据;所述步骤6读取Excel中的数据包括如下步骤:
1、使用FileStream类文件打开Excel文件;
2、使用NPOI库的XSSFWorkbook类根据打开的文件初始化IWorkbook对象;
3、使用IWorkbook对象的GetSheetName方法打开需要读取数据的Sheet文件;
4、使用IWorkbook的GetSheet方法根据获取到的Sheet名来初始化ISheet对象;
5、使用ISheet对象的GetRow方法获取要读取的数据行的IRow对象;
6、使用IRow对象的GetCell方法来获取单元格的数据;
步骤7:将数据保存到Data对象中;
步骤8:将Data对象转换成JSON格式字符串;
步骤9:将数据保存到JSON文件。
2.根据权利要求1所述的一种JSON文件和EXCEL文件相互转化方法,其特征在于:所述步骤1创建Data数据结构是建立一个专用于数据转换的中间类结构Data类,用于存储JSON格式的数据。
3.根据权利要求1所述的一种JSON文件和EXCEL文件相互转化方法,其特征在于:所述步骤2读取JSON配置文件的数据是使用File类的ReadAllText方法将JSON文件中的文本数据全部读取出来,然后存于string变量中。
4.根据权利要求1所述的一种JSON文件和EXCEL文件相互转化方法,其特征在于:所述步骤7将数据保存到Data对象中包括创建一个Data对象,将读取后的数据依次按键值对的方式存储到Data对象中。
5.根据权利要求1所述的一种JSON文件和EXCEL文件相互转化方法,其特征在于:所述步骤8将Data对象转换成JSON格式字符串包括读取Excel数据存储到Data对象后,通过JsonConvert的SerializeObject方法将Data对象序列化成json字符串。
6.根据权利要求1所述的一种JSON文件和EXCEL文件相互转化方法,其特征在于:所述步骤9将数据保存到JSON文件是使用StreamWrite类的WriteLine方法将JSON字符串数据写入到JSON文件中。
CN201910709633.2A 2019-08-02 2019-08-02 一种json文件和excel文件相互转化方法 Active CN110516207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910709633.2A CN110516207B (zh) 2019-08-02 2019-08-02 一种json文件和excel文件相互转化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910709633.2A CN110516207B (zh) 2019-08-02 2019-08-02 一种json文件和excel文件相互转化方法

Publications (2)

Publication Number Publication Date
CN110516207A CN110516207A (zh) 2019-11-29
CN110516207B true CN110516207B (zh) 2023-09-22

Family

ID=68624647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910709633.2A Active CN110516207B (zh) 2019-08-02 2019-08-02 一种json文件和excel文件相互转化方法

Country Status (1)

Country Link
CN (1) CN110516207B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117787251B (zh) * 2024-02-28 2024-05-07 江苏中威科技软件系统有限公司 多格式文件组合或合并阅读展开excel隐藏内容的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108415741A (zh) * 2018-02-13 2018-08-17 腾讯科技(深圳)有限公司 对象序列化和反序列化方法及相关装置
CN109408780A (zh) * 2018-09-07 2019-03-01 山东中磁视讯股份有限公司 一种Excel文件转换为JSON文件的方法
CN109542541A (zh) * 2017-09-21 2019-03-29 北京国双科技有限公司 反序列化方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542541A (zh) * 2017-09-21 2019-03-29 北京国双科技有限公司 反序列化方法及装置
CN108415741A (zh) * 2018-02-13 2018-08-17 腾讯科技(深圳)有限公司 对象序列化和反序列化方法及相关装置
CN109408780A (zh) * 2018-09-07 2019-03-01 山东中磁视讯股份有限公司 一种Excel文件转换为JSON文件的方法

Also Published As

Publication number Publication date
CN110516207A (zh) 2019-11-29

Similar Documents

Publication Publication Date Title
JP3641430B2 (ja) 複数のプラットフォームを備えたコンピュータ用プログラム・インターフェース・コンバータ
CN101183355B (zh) 复制和粘贴处理方法及装置
US7496230B2 (en) System and method for automatic natural language translation of embedded text regions in images during information transfer
US8122424B2 (en) Automatic natural language translation during information transfer
WO2016206336A1 (zh) 一种利于翻译工作的文件抽取和还原方法
CN110516207B (zh) 一种json文件和excel文件相互转化方法
CN113076167A (zh) 一种代码处理方法及相关设备
CN106815181B (zh) 一种InDesign排版的indd文件到Office文件的转换方法及装置
CN109960547A (zh) 软件多国语言翻译方法及系统
CN101866331A (zh) 不同语种xml文档的转换方法及装置
Raymond et al. Markup reconsidered
CN109446496A (zh) 一种测试语言文件的转换方法、装置、设备及存储介质
CN113221506A (zh) 一种讲义排版的方法、装置、电子设备及存储介质
CN110716785B (zh) 一种多语言说明文档中界面图片截取方法、装置及系统
Dunne Localization and the (R) evolution of Translation
CN113961300A (zh) 一种iOS APP字符串资源文件翻译方法及系统
CN104503992B (zh) 一种题库构建方法
CN112613279A (zh) 一种文件的转换方法、装置、计算机装置及可读存储介质
Sin-Wai Computer-aided translation: major concepts
CN101325758A (zh) 可显示多种语言的移动通讯装置及方法
CN101067785B (zh) 一种基于嵌入式平台的资源管理方法及系统
KR20210040545A (ko) Xml 기반 다국어 매뉴얼 저작 장치 및 그 방법
US20240152511A1 (en) Transliteration of machine interpretable languages for enhanced compaction
CN116306510A (zh) 一种Json文件转换为Word文档的方法
CN114065782A (zh) 一种word文档翻译保留原有样式的方法

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