关键词:
好久没更新了,最近配置json文件的时候发现以前用的excel转json转换器不好用了,上网找了几个都不能满足需求,于是自己用python写了一个。工具不复杂,使用简单,但能满足几乎所有excel转json的要求了,包括多层嵌套,每一层定制为列表或者字典的输出格式,复杂单元格的定制。
转载请注明出处:https://blog.csdn.net/ylbs110/article/details/82755822
ExcelExportTool
简单强大的excel转json的工具
链接
https://github.com/ylbs110/ExcelExportTool
功能说明
- 使用简单,不需要额外的关联文件
- 批量处理excel文件
- 同一个excel文件中可配置多个json并导出
- 可对excel的sheet配置主从关系来输出任意多级json
- json的每一级都支持列表和字典配置
- 可在excel单元格中直接配置列表和字典作为下级内容
- json可输出为便于阅读的格式化文件或是省空间的字符串文件
工具依赖
- 基于python 3.6开发
- excel使用xlrd这个开源库解析
- xlrd http://pypi.python.org/pypi/xlrd
- 用pip命令安装xlrd : pip install xlrd
使用方法
配置好Config.json后双击ExcelExportTool.bat进行文件转换
Config配置
#表头所在的行,可以在前面留出行加注释
"headRow": 2,
#是否四舍五入
"round":true
#生成的json是否格式化为方便阅读的json格式
"format": true,
#是否忽略空值,为真则直接跳过空值项
"ignoreEmpty": true,
#放置源文件的目录
"srcFolder": "./excel",
#输出json的目录
"destFolder": "./json",
Excel配置
-
Excel不能以~开头,否则无法读取
-
sheet名前面加上!则不会被读取
-
输出json名为sheet名
-
表格存在主从关系则仅输出主表,从表不会输出,理论上从表可以配置任意多级,主从表位置可以随意调整
-
没有主从关系的表会单独输出,相当于主表
-
有主从关系则从表名称作为主表的项,从表数据根据配置输出到该项中(从表为obj类型除外)
-
表格主从关系配置
- 主表名称为正常表名,作为最后输出的表名
- 从表名格式为 从表名~主表名
- 从表中需要配置对应主表主键的列,表头以开头,可以仅为
-
可对表名加上修饰符进行输出限定,格式为 表名#修饰符,修饰符可以为:
- obj:该表的每一项作为单独的对象输出,如果是从表则直接单独将每一条数据作为子项目添加到上级表单中
- dic:该表以字典的形式输出,每条数据的主键作为字典每一项的key,如果是从表则根据依赖的主表主键合并为字典并以输出到对应主表中
- 不加限定或其他限定则均默认为列表输出,如果是从表则根据依赖的主表主键合并为列表并以输出到对应主表中
- 加限定的从表格式为 从表名#修饰符~主表名
-
表格数据基本配置
- 键名为空或者健名前加上!则该列不会被读取
- 主键以*开头,没有主键则默认除映射主表列以外的第一列为主键列
- 数据类型会自动识别,也可在列名后面可以跟修饰符进行限定,格式为 键名#修饰符
- 修饰符可以为:
- int : 如果是数值类型则强制转换为整形
- float : 浮点型,可通过参数设置小数位数,不设置则原样输出。格式:键名#修饰符#小数位数
- str : 字符串
- bool : 0或false输出false,其他输出true
- date : 输出日期格式
- obj : 将数据拆分为多个子项来替代当前项,每一项以’|‘分隔,键值对以’:'分隔。例: key1:value1,key2:value2 。作为主键修饰符则该条数据会丢失主键并以第一项作为主键
- [] : 以列表形式输出内容,列表项以’|'分隔。例: value1,value2,value3 。
- : 以字典形式输出内容,字典项以’|‘分隔,键值对以’:'分隔。例: key1:value1,key2:value2 。字典无法哈希,故无法作为主键,会报错
例子
详见Sample文件夹
- sample1主要测试各种数据类型以及一个文件输出多个表
- sample2主要测试多层嵌套
excel转json工具(代码片段)
...何在EXCEL配置好数据,然后一键转换成JSON和C#代码的一个工具。 首先在新建一个EXCEL,将配置数据按照如下图标格式编写: 注:第一行为数据属性的表述介绍,第二行为数据的属性名称 接下来的行列都是对... 查看详情
文本文件转excel文件(代码片段)
...的一种文件,在工作中使用非常频繁。Excel中有许多强大工具,因此用Excel来处理文件会给我们带来很多便捷。但是有时候我们拿到了文件不是Excel文件,而且我们又想用Excel中的工具,这个时候我们就可以想办法... 查看详情
mlkit是一个强大易用的工具包。通过mlkit您可以很轻松的实现文字识别条码识别图像标记人脸检测对象检测等功能(代码片段)
...t项目地址:jenly1314/MLKit 简介:🌝MLKit是一个强大易用的工具包。通过MLKit您可以很轻松的实现文字识别、条码识别、图像标记、人脸检测、对象检测等功能。更多:作者 提Bug 标签:正在上传…重新上... 查看详情
配置简单功能强大的excel工具类搞定excel导入导出工具类(代码片段)
...出Excel是最普通和实用功能,本工具类使用步骤简单,功能强大,只需要对实体类进行简单的注解就能实现导入导出功能,导入导出操作的都是实体对象.请看一下这个类都有哪些功能:?????1.实体属性配置了注解就能导出到excel中,每个属... 查看详情
lua的table转为excel表格的方法(代码片段)
项目中需要用到转表工具,由于没有直接的转表工具,而且嵌套的table(table里面嵌套了多层表格与数组)。无奈之下,只好采用折衷的方法,先将table表格转为json数据,再用在线转表工具将json转为excel表格。 第一步,... 查看详情
几行代码就能实现复杂的excel导入导出,这个工具类真心强大!(代码片段)
来源:blog.csdn.net/weixin_43225813/article/details/108995011功能介绍IMPORTExcelHandle核心处理器ExcelWorkbookManageexcel所有工作表管理ExcelInitConfig配置文件初始化AbstractFileParser文件转换类alanpoiimport有何优势?用户不需要额外引 查看详情
laya---数据读取---excel转json(代码片段)
...个json文件夹用于存放我们的json文件 4.编译后在visualcode代码编辑器中即可看到可执行文件bin目录下的json文件已生成5.代码读取onAwake()Laya.loader.load("J 查看详情
laya---数据读取---excel转json(代码片段)
...个json文件夹用于存放我们的json文件 4.编译后在visualcode代码编辑器中即可看到可执行文件bin目录下的json文件已生成5.代码读取onAwake()Laya.loader.load("J 查看详情
开源项目分享一个非常简单易用的compose版骨架屏,快来看看!(代码片段)
...的库,一个用于构建原生AndroidUI的现代工具包。他有强大的工具和直观的KotlinAPI,简化并加速了Android上的UI开发。可以帮助开发者用更少更直观的代码创建View,有更强大的功能,还能提高开发速度。今天要和大家... 查看详情
开源项目分享一个非常简单易用的compose版骨架屏,快来看看!(代码片段)
...的库,一个用于构建原生AndroidUI的现代工具包。他有强大的工具和直观的KotlinAPI,简化并加速了Android上的UI开发。可以帮助开发者用更少更直观的代码创建View,有更强大的功能,还能提高开发速度。今天要和大家... 查看详情
强大易用的日期和时间库jodatime(代码片段)
Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDKDate和Calendar类完全替换掉,而且仍然能够提供很好的集成,并且它是线程安全的。Joda-Time主要的特点包括:1.易于使用:Calendar让获取"正常的"... 查看详情
非常强大的java时间处理工具类!(代码片段)
xk-time是时间转换,时间计算,时间格式化,时间解析,日历,时间cron表达式和时间NLP等的工具,使用Java8,线程安全,简单易用,多达70几种常用日期格式化模板,支持Java8时间类和Date,... 查看详情
mlkit是一个强大易用的工具包。通过mlkit您可以很轻松的实现文字识别条码识别图像标记人脸检测对象检测等功能(代码片段)
...t项目地址:jenly1314/MLKit 简介:🌝MLKit是一个强大易用的工具包。通过MLKit您可以很轻松的实现文字识别、条码识别、图像标记、人脸检测、对象检测等功能。更多:作者 提Bug 标签:正在上传…重新上... 查看详情
图片转excel(代码片段)
说明程序使用源码说明使用的工具启动TOC说明图片(位图)是一个个像素点,把每一个像素填到excel的单元格,就能在excel里组成一个图片.就像这样:程序使用打开dist/index.html:源码说明源码地址:giteegithub使用的工具vue框架,vue-cli生成项... 查看详情
使用sheetjs读写excel文件(代码片段)
...目的基础说明读取写入总结目的项目中有一个Excel转JSON的工具,之前这个工具一直使用Python的openpyxl库来编写的,然后使用pyinstaller打包成.exe文件。之前这个工具只是个命令行工具,不带界面的。现在项目升级,... 查看详情
文本文件转excel文件(代码片段)
...的一种文件,在工作中使用非常频繁。Excel中有许多强大工具,因此用Excel来处理文件会给我们带来很多便捷。但是有时候我们拿到了文件不是Excel文件,而且我们又想用Excel中的工具,这个时候我们就可以想办法... 查看详情
文本文件转excel文件(代码片段)
...的一种文件,在工作中使用非常频繁。Excel中有许多强大工具,因此用Excel来处理文件会给我们带来很多便捷。但是有时候我们拿到了文件不是Excel文件,而且我们又想用Excel中的工具,这个时候我们就可以想办法... 查看详情
unity中excel转json插件(代码片段)
1工具简介将策划配置的excel转换成程序使用json文件。方便策划是excel的功能。2文件的放置和生成需要将excle文件放置到项目中的Excel文件夹下面。生成的文件会在Res/Config文件夹下面生成json文件只需要点击Tools下的ExcelTools就可以... 查看详情