CN116306510A - 一种Json文件转换为Word文档的方法 - Google Patents

一种Json文件转换为Word文档的方法 Download PDF

Info

Publication number
CN116306510A
CN116306510A CN202310208739.0A CN202310208739A CN116306510A CN 116306510 A CN116306510 A CN 116306510A CN 202310208739 A CN202310208739 A CN 202310208739A CN 116306510 A CN116306510 A CN 116306510A
Authority
CN
China
Prior art keywords
test paper
module
test
json
question
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
CN202310208739.0A
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 Huanyu Zhizhi Technology Co ltd
Original Assignee
Chengdu Huanyu Zhizhi 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 Chengdu Huanyu Zhizhi Technology Co ltd filed Critical Chengdu Huanyu Zhizhi Technology Co ltd
Priority to CN202310208739.0A priority Critical patent/CN116306510A/zh
Publication of CN116306510A publication Critical patent/CN116306510A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Json文件转换为Word文档的方法,包括以下步骤:S1、创建试卷数据表;S2、转换为Json对象,指根据所述试卷数据表将自定义目标信息组合成json对象;S3、创建试卷对象,所述试卷对象包括试卷类、模块类及试题类;S4、Json对象转换为试卷对象;S5、试卷对象转换为Word文档。本申请还公开一种将Json文件转换为Word文档的系统,包括试卷数据表创建单元、Json对象转换单元、试卷对象创建单元、试卷对象转换单元及Word文档转换单元。本发明将自定义类型的对象转换成符合规范的试卷文档,从而方便相关人员对试卷进行维护。

Description

一种Json文件转换为Word文档的方法
技术领域
本发明属于Office文档操作技术领域,基于.Net平台开发,具体涉及一种Json文件转换为Word文档的方法。
背景技术
ASPOSE软件提供了一个将Json文件转换为Office Word文档的工具,在其提供的网页版工具中,用户上传自己的json文件至其后台服务器,后台会将Json文件进行转换;转换完成后,会返回一个docx文档的下载地址到前端界面,用户点击前端按钮即可下载转换完成后的文档。
在现有的技术方案中,转换方式是按照Json内容的层次结构来进行的,拥有相同层次和相同key的键值对会保存到同一个表格中,因此转换完成后的Word文档会包含多个表格,而不是生成一套格式正确的试卷。
在题库管理系统的实际应用中,常常需要对系统中的试卷进行维护,维护的方式通常是在网页中进行的,并且每次操作只能修改一道试题;为了方便维护人员能够直接在Word文档中对试卷的内容进行维护,本发明设计了一个将json文件转换为Word文档的方法。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种Json文件转换为Word文档的方法,基于.Net Framework4.8进行开发,依赖Json.Net的序列化/反序列化技术,将json对象转换为自定义类型的对象;再依赖Open Xml SDK的功能,将自定义类型的对象转换成符合规范的试卷文档,从而方便相关人员对试卷进行维护。
技术方案:为实现上述目的,本发明提供一种Json文件转换为Word文档的方法,包括以下步骤:
S1、创建试卷数据表,所述试卷数据表为Word文档的目标分类,包括若干试卷表、模块表及试题表,其中,所述试卷表包括若干模块表,所述模块表包括若干试题表;
S2、转换为Json对象,指根据所述试卷数据表将自定义目标信息组合成json对象;
S3、创建试卷对象,所述试卷对象包括试卷类、模块类及试题类,其中,所述试卷类包括若干模块类,所述模块类包括若干试题类;
S4、Json对象转换为试卷对象;
S5、试卷对象转换为Word文档。
可选的,作为本申请的一种实施方式,步骤S1中,所述试卷表中的每张试卷中包含有模块表中的模块的索引,所述模块表中的每个模块中包含有试题表中的试题的索引,试题表中包含有所有的试题信息。
可选的,作为本申请的一种实施方式,步骤S2中,所述合成json对象具体为,根据与所述试卷数据表对应的试卷Id和试卷下的模块Id找到所有的试题信息,组合成json对象。
可选的,作为本申请的一种实施方式,步骤S3中,所述模块类的若干模块包含有单选题模块、多选题模块、判断题模块、简答题模块、计算分析题模块、综合题模块其中至少一种。
可选的,作为本申请的一种实施方式,步骤S4中,所述Json对象转换为试卷对象具体为,调用获取试卷信息的接口,用返回的json数据初始化一个JObject对象,遍历JObject对象中的数据来初始化试卷对象的基本信息和各个模块的信息。
可选的,作为本申请的一种实施方式,步骤S5中,所述试卷对象转换为Word文档具体为,创建一个Word空文档,然后遍历所述试卷对象的各个模块,读取各个模块的数据来生成Word文档中的段落,直至最后一个模块的数据被读取完。
另一方面,本申请还提供一种的将Json文件转换为Word文档的系统,包括试卷数据表创建单元、Json对象转换单元、试卷对象创建单元、试卷对象转换单元及Word文档转换单元,其中,
试卷数据表创建单元,用于创建Word文档的目标分类表;
Json对象转换单元,用于将Json文件转换为Json对象;
试卷对象创建单元,用于创建试卷对象;
试卷对象转换单元,用于将Json对象转换为试卷对象;
Word文档转换单元,用于将试卷对象转换为Word文档。
可选的,作为本申请的一种实施方式,所述试卷数据表创建单元中,所述试卷数据表为Word文档的目标分类,包括若干试卷表、模块表及试题表,其中,所述试卷表包括若干模块表,所述模块表包括若干试题表。
可选的,作为本申请的一种实施方式,所述Json对象转换单元中,所述合成json对象具体为,根据与所述试卷数据表对应的试卷Id和试卷下的模块Id找到所有的试题信息,组合成json对象。
可选的,作为本申请的一种实施方式,所述试卷对象创建单元中,所述试卷对象包括试卷类、模块类及试题类,其中,所述试卷类包括若干模块类,所述模块类包括若干试题类。
可选的,作为本申请的一种实施方式,所述试卷对象转换单元中,利用返回的json数据进行试卷对象的初始化。
进一步可选的,作为本申请的一种实施方式,所述试卷对象转换单元中,利用返回的json数据进行试卷对象的初始化具体为,调用获取试卷信息的接口,用返回的json数据初始化一个JObject对象,遍历JObject对象中的数据来初始化试卷对象的基本信息和各个模块的信息。
可选的,作为本申请的一种实施方式,所述Word文档转换单元中,所述将试卷对象转换为Word文档指的是,创建一个Word空文档,然后遍历所述试卷对象的各个模块,读取各个模块的数据来生成Word文档中的段落,直至最后一个模块的数据被读取完。
本发明提供的json文件转换为Word文档的方法,与现有技术相比,具有以下有益效果:
本申请解决了目前在题库管理系统的实际应用中,网页中维护每次操作只能修改一道试题的问题,将自定义类型的对象转换成符合规范的试卷文档,从而方便相关人员对试卷进行维护。
附图说明
图1是本发明所述的一种json文件转换为Word文档的方法的流程图。
图2是本发明所述的一种可转换为Word文档的json文件系统的结构示意图。
图3为本发明一种实施例中转换前的Json文件的示意图。
图4为本发明一种实施例中转换后的Word文档的示意图。
图5为本发明一种实施例运行项目后,转换成的Word文档试卷的示意图。
附图标记说明:
其中1、输入的Json文件;2、转换为Json对象;3、创建自定义类型对象,在本申请实施例中也称作创建试卷类的对象;4、Json对象转换为自定义类型对象,在本申请实施例中也称作Json对象转换为试卷对象;5、自定义对象转换为Word文档,在本申请实施例中也称作试卷对象转换为Word文档;6、输出的Word文档;10、数据表创建单元;11、Json对象转换单元;12、试卷对象创建单元;13、试卷对象转换单元;14、Word文档转换单元。
具体实施方式
为了方便维护人员能够直接在Word文档中对试卷的内容进行维护,本发明设计了一个将json文件转换为Word文档的方法。本发明基于Open Xml SDK和Newtonsoft.Json库来实现Json转换成Word文档的功能。其中,Open Xml SDK是Microsoft公司提供的操作ooxml(Office Open XML,也称为OpenXML或OOXML,是一种基于XML的办公文档格式,包括字处理文档、电子表格、演示文稿以及图表、流程图、形状和其他图形资源)格式文件的接口类库,可以很方便地操纵docx格式的Word文档,并且在使用上没有严格的限制。Newtonsoft.Json是一个开源的Json操作类库,可以很方便地序列化和反序列化Json文本和.Net对象。
本发明的方法包含以下步骤:
步骤1、准备包含试卷信息的Json文件
通常,一张试卷是由不同的模块组合而成的,例如单选题模块、多选题模块、判断题模块、简答题模块、计算分析题模块、综合题模块等等;模块不同,每个模块下的试题类型也不同。
因此,需要在后台数据库创建三张数据表,分别是:试卷表(ExamPapersTable)、模块表(ModelsTable)、试题表(QuestionsTable)。试卷表中的每张试卷会保存多个模块的索引,模块表中的每个模块会保存多个试题的索引,试题表则是保存所有的试题信息。当需要获取一张试卷的信息时,只需根据试卷Id和试卷下的模块Id找到所有的试题信息,并将其组合成一个json对象,然后通过接口返回即可。
步骤2、根据试卷的不同模块创建不同类型的模块类和试题类
直接读取json文件的内容转换成Word文档,不仅效果不好,也不利于代码的维护和管理。一种更好的办法是,对于试卷的每个模块,可以创建对应类型的模块类;对于不同类型的试题,可以创建对应类型的试题类;在模块类中,用列表保存相同类型的试题;最后,创建一个试卷类,将所有的模块包含进来,就创建成了一个试卷对象。
步骤3、通过json文件实例化试卷类
首先,读取Json文件的内容,将其拆分成不同的模块,进而转换为Json对象。然后根据创建的一个试卷对象,通过序列化/反序列化技术将不同模块的json内容转换成试卷对象的相应模块。
步骤4、根据试卷对象生成Word文档
首先,创建一个Word文档,并进行初始化,初始化时会添加Word文档所需的基本信息;然后,根据试卷对象中的内容,依次读取试卷中的每个模块,判断模块中的试题的数量是否大于0,大于0则将此模块添加到Word文档中,直至所有模块都添加完成。
下面结合附图和实施例对本发明作更进一步的说明。根据下述实施例,可以更好的理解本发明。然而,本领域的技术人员容易理解,实施例所描述的具体的方法过程、图示页面及其结果仅用于说明本发明,而不应当也不会限制权利要求书中所详细描述的本发明。
实施例
在某些场景中,我们需要将题库管理系统中的试卷导出为Word文档,方便用户学习和使用。如图1所示,本发明提供了一种Json文件转换为Word文档的方法,通过使用本方法,我们可以很方便地将后台数据库中的试卷转换为Word文档,具体实施步骤如下:
首先,在安装了.NET Framework 4.6+(.NET框架4.6+)的计算机上,通过VisualStudio创建C#项目。并在项目中引用Open XML SDK(DocumentFormat.OpenXml.dll文件)和Json.NET库(Newtonsoft.Json.dll文件),前者提供的方法可用于编辑Word文档,后者提供的方法可用于处理json数据。
接下来进行具体的转换过程:
S1、创建试卷数据表,所述试卷数据表为Word文档的目标分类,包括若干试卷表、模块表及试题表,其中,所述试卷表包括若干模块表,所述模块表包括若干试题表;
在本实施例中,步骤S1中,所述试卷表中的每张试卷中包含有模块表中的模块的索引,所述模块表中的每个模块中包含有试题表中的试题的索引,试题表中包含有所有的试题信息。
S2、转换为Json对象,指根据所述试卷数据表将自定义目标信息组合成json对象;
在本实施例中,步骤S2中,所述合成json对象具体为,根据与所述试卷数据表对应的试卷Id和试卷下的模块Id找到所有的试题信息,组合成json对象。
S3、创建试卷对象,所述试卷对象包括试卷类、模块类及试题类,其中,所述试卷类包括若干模块类,所述模块类包括若干试题类;
本实施例中,该步骤为在项目中创建试卷类、模块类和试题类;试卷类包含所有的模块,不同的模块存储不同类型的试题。
在本实施例中,步骤S3中,所述模块类的若干模块包含有单选题模块、多选题模块、判断题模块、简答题模块、计算分析题模块、综合题模块其中至少一种。
S4、Json对象转换为试卷对象;
本实施例中,该步骤为创建一个试卷类的对象,然后调用获取试卷信息的接口,用返回的json数据去初始化一个JObject对象,遍历JObject对象中的数据来初始化试卷对象的基本信息和各个模块的信息。
S5、试卷对象转换为Word文档。
在本实施例中,步骤S5中,所述试卷对象转换为Word文档具体为,创建一个Word空文档,然后遍历所述试卷对象的各个模块,读取各个模块的数据来生成Word文档中的段落,直至最后一个模块的数据被读取完。更具体的为,创建一个Word文档,并进行初始化,初始化时会添加Word文档所需的基本信息;然后,根据试卷对象中的内容,依次读取试卷中的每个模块,判断模块中的试题的数量是否大于0,大于0则将此模块添加到Word文档中,直至所有模块都添加完成。
转换前的Json文件如图3所示,运行项目,得到如图4、图5所示的效果。可以看到,通过本方法生成的试卷内容的格式规范、美观,用户可以很方便地查看、修改所有试题的内容。此外,如果试卷中要新增模块,我们只需创建新的模块类和试题类,并将其添加到试卷类中即可,并且不会影响到其它模块。
本申请还提供一种的将Json文件转换为Word文档的系统,如图2所示,包括试卷数据表创建单元、Json对象转换单元、试卷对象创建单元、试卷对象转换单元及Word文档转换单元,其中,
试卷数据表创建单元,用于创建Word文档的目标分类表;
Json对象转换单元,用于将Json文件转换为Json对象;
试卷对象创建单元,用于创建试卷对象;
试卷对象转换单元,用于将Json对象转换为试卷对象;
Word文档转换单元,用于将试卷对象转换为Word文档。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种Json文件转换为Word文档的方法,其特征在于,包括以下步骤:
S1、创建试卷数据表,所述试卷数据表为Word文档的目标分类,包括若干试卷表、模块表及试题表,其中,所述试卷表包括若干模块表,所述模块表包括若干试题表;
S2、转换为Json对象,指根据所述试卷数据表将自定义目标信息组合成json对象;
S3、创建试卷对象,所述试卷对象包括试卷类、模块类及试题类,其中,所述试卷类包括若干模块类,所述模块类包括若干试题类;
S4、Json对象转换为试卷对象;
S5、试卷对象转换为Word文档。
2.根据权利要求1所述的方法,其特征在于,步骤S1中,所述试卷表中的每张试卷中包含有模块表中的模块的索引,所述模块表中的每个模块中包含有试题表中的试题的索引,试题表中包含有所有的试题信息。
3.根据权利要求1所述的方法,其特征在于,步骤S2中,所述合成json对象具体为,根据与所述试卷数据表对应的试卷Id和试卷下的模块Id找到所有的试题信息,组合成json对象。
4.根据权利要求1所述的方法,其特征在于,步骤S3中,所述模块类的若干模块包含有单选题模块、多选题模块、判断题模块、简答题模块、计算分析题模块、综合题模块其中至少一种。
5.根据权利要求1所述的方法,其特征在于,步骤S4中,所述Json对象转换为试卷对象具体为,调用获取试卷信息的接口,用返回的json数据初始化一个JObject对象,遍历JObject对象中的数据来初始化试卷对象的基本信息和各个模块的信息。
6.根据权利要求1所述的方法,其特征在于,步骤S5中,所述试卷对象转换为Word文档具体为,创建一个Word空文档,然后遍历所述试卷对象的各个模块,读取各个模块的数据来生成Word文档中的段落,直至最后一个模块的数据被读取完。
7.一种的将Json文件转换为Word文档的系统,其特征在于,包括试卷数据表创建单元、Json对象转换单元、试卷对象创建单元、试卷对象转换单元及Word文档转换单元,其中,
试卷数据表创建单元,用于创建Word文档的目标分类表;
Json对象转换单元,用于将Json文件转换为Json对象;
试卷对象创建单元,用于创建试卷对象;
试卷对象转换单元,用于将Json对象转换为试卷对象;
Word文档转换单元,用于将试卷对象转换为Word文档。
8.根据权利要求7所述的系统,其特征在于,所述试卷数据表创建单元中,所述试卷数据表为Word文档的目标分类,包括若干试卷表、模块表及试题表,其中,所述试卷表包括若干模块表,所述模块表包括若干试题表。
9.根据权利要求7所述的系统,其特征在于,所述试卷对象创建单元中,所述试卷对象包括试卷类、模块类及试题类,其中,所述试卷类包括若干模块类,所述模块类包括若干试题类。
10.根据权利要求7所述的系统,其特征在于,所述试卷对象转换单元中,利用返回的json数据进行试卷对象的初始化。
CN202310208739.0A 2023-03-07 2023-03-07 一种Json文件转换为Word文档的方法 Pending CN116306510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310208739.0A CN116306510A (zh) 2023-03-07 2023-03-07 一种Json文件转换为Word文档的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310208739.0A CN116306510A (zh) 2023-03-07 2023-03-07 一种Json文件转换为Word文档的方法

Publications (1)

Publication Number Publication Date
CN116306510A true CN116306510A (zh) 2023-06-23

Family

ID=86784600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310208739.0A Pending CN116306510A (zh) 2023-03-07 2023-03-07 一种Json文件转换为Word文档的方法

Country Status (1)

Country Link
CN (1) CN116306510A (zh)

Similar Documents

Publication Publication Date Title
US8407585B2 (en) Context-aware content conversion and interpretation-specific views
US7506324B2 (en) Enhanced compiled representation of transformation formats
US20010014900A1 (en) Method and system for separating content and layout of formatted objects
CN110866383B (zh) 一种交互式电子数据清单生成方法及系统
CN104881275A (zh) 一种电子报表生成方法及装置
CN104035754A (zh) 一种基于xml的自定义代码生成方法及生成器
US10353990B2 (en) Creating accessible, translatable multimedia presentations
CN109766085B (zh) 一种处理枚举类型代码的方法及装置
CN113609820A (zh) 基于可扩展标记语言文件生成word文件的方法、装置及设备
CN111753140A (zh) Xml文件解析方法及相关设备
CN106776779B (zh) 基于Mac平台的JSON数据生成实体文件的方法
Hardisty et al. The specimen data refinery: a canonical workflow framework and FAIR digital object approach to speeding up digital mobilisation of natural history collections
CN101866331A (zh) 不同语种xml文档的转换方法及装置
CN111311461B (zh) 基于b-s的结构化动态病历表单的编辑器及生成方法
CN116579316A (zh) 一种文档模板化生成的方法
CN116303359A (zh) 一种数据库结构多类型文档导出的实现方法
CN116306510A (zh) 一种Json文件转换为Word文档的方法
CN112699642B (zh) 复杂医疗文书的索引提取方法及装置、介质及电子设备
CN114519071A (zh) 规则匹配模型的生成方法、匹配方法、系统、设备和介质
CN111401005B (zh) 文本转换方法、装置及可读存储介质
CN114386374A (zh) 一种将CA签名用于数据整合生成odf文档的方法及其程序
CN108228688B (zh) 一种基于xbrl的模板生成方法、系统及服务器
KR20210040545A (ko) Xml 기반 다국어 매뉴얼 저작 장치 및 그 방법
US20040025114A1 (en) Preserving content or attribute information during conversion from a structured document to a computer program
JP7269244B2 (ja) サービス管理アプリケーションインターフェースにおいてグローバリゼーション機能を提供するためのシステムおよび方法

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