excel2json
在游戏项目中一般都需要由策划制作大量的游戏内容,其中很大一部分是使用Excel表来制作的。于是程序就需要把Excel文件转换成程序方便读取的格式。
之前项目使用的Excel表导入工具都是通过Office Excel组件来实现数据访问的,效率十分令人不满。一个端游项目一般要上百个表格,手游项目20、30个表格基本也是要的,于是表格导入程序的过程一般要几分钟,项目后期要接近半个小时。这里分享的这个小工具,在速度上有质的飞越,比上述方法实现的工具有接近100倍的速度提升.
版本更新
- 最新版: 1.2.0
- 更新日期:2019年2月3日
- 最新版下载:https://github.com/neil3d/excel2json/releases
- 源代码Github地址:https://github.com/neil3d/excel2json
主要功能:
- 支持读取 Excel 97-2003的 .xls格式和2007的 .xlsx格式;
- 支持多个表单导出;
- 把Excel表单转换成Json对象,并保存到一个文本文件中。支持将表中内容转换成Array,或者以第一列为ID的字典对象;
支持GUI模式和命令行模式
GUI模式方便预览;而命令行式,方便将多个表格转换工作写成一个批处理文件(.bat或者.sh),一键处理几十个表格。 例如,使用下面这个.bat批处理文件,可以一次性转换”.\excel”目录下所有的.xlsx文件到”.\json”目录:
@SET EXCEL_FOLDER=.\excel
@SET JSON_FOLDER=.\json
@SET EXE=.\excel2json.exe @ECHO Converting excel files in folder %EXCEL_FOLDER% ...
for /f "delims=" %%i in ('dir /b /a-d /s %EXCEL_FOLDER%\*.xlsx') do (
@echo processing %%~nxi
@CALL %EXE% --excel %EXCEL_FOLDER%\%%~nxi --json %JSON_FOLDER%\%%~ni.json --header 3
)
命令行参数
- -e, --excel Required. 输入的Excel文件路径.
- -j, --json 指定输出的json文件路径.
- -h, --header (Default: 3)表格中有几行是表头.
- -c, --encoding (Default: utf8-nobom) 指定编码的名称.
- -l, --lowcase (Default: false) 自动把字段名称转换成小写格式.
- -a 序列化成数组
- -d, --date:指定日期格式化字符串,例如:dd / MM / yyy hh: mm:ss
例如:excel2json --excel test.xlsx --json test.json --header 3 --array true,其中的输入和输出文件,都在当前目录下;
Excel表单格式约定
- 第一行固定作为列名(用来构造json字段名称);
- 第一列固定作为对象的ID;
- 读取Excel Workbook中的第一个sheet;
- 对于SQL导出模式:第二行固定为字段类型
- 使用表头生成C#数据定义代码
在Mac、Linux上运行
这个小工具使用C#编写,编译出来的.exe通过Mono即可在Mac或者Linux上运行。
- Mono下载地址:http://www.mono-project.com/download
- 运行GUI模式:mono ./excel2json.exe
- 运行命令行模式: mono ./excel2json.exe 命令行参数
excel2json的更多相关文章
- 工具分享:excel2json,将Excel表格转换为JSON
此次分享的是github上的一个开源小工具:excel2json,用于把Excel表转换成json对象,并保存到一个文本文件. 项目地址:https://github.com/neil3d/excel ...
- Unity 基于excel2json批处理读取Excel表并反序列化
excel2json是一款将Excel表格文件快速生成json和C#数据类的高效插件,详情了解如下: https://neil3d.github.io/coding/excel2json.html 该 ...
- Excel2Json记录
1.有关配置的读取 import configparser import codecs #配置文件格式[config] #自定义的配置key=valuekey2=value2 读取配置 conf = ...
- 持续集成环境Jenkins的搭建和使用
这几天试着搭了个持续集成环境,我使用的是Jenkins,它的前身是Hadson,由于被Oracle收购了,所以换个名字继续开源,这个有点像MySQL. 持续集成总是跟敏捷开发什么的搞在一起,显得非常高 ...
- python通过openpyxl操作excel
python 对Excel操作常用的主要有xlwt.xlrd.openpyxl ,前者xlwt主要适合于对后缀为xls比较进行写入,而openpyxl主要是针对于Excel 2007 以上版本进行操作 ...
- C# Excel转换成Json工具(含源码)
可执行版本下载:https://github.com/neil3d/excel2json/releases 完整项目源代码下载:https://github.com/neil3d/excel2json ...
- Java读取Excel文件转换成JSON并转成List——(七)
Jar包
- Excel转Json
参考: Excel2JSON Excel转JSON Excel另存为JSON的技巧 (office的插件) excel2json 游戏程序员的自我修养 (其他人写的工具) Excel转JSON格式- ...
- Java 解析Excel文件为JSON
Excel转Json的需求 反正我对SSM基本不会的情况下来到现在这家公司,都是90后,感觉很好.第二天就给我开发任务,就是把用户上传的Excel文件转成JSON返回给前台用于大屏的数据展示. 解决方 ...
随机推荐
- photoshop出现错误:要求96和8之间的整数。已插入最接近的数值
win10升级后出现该问题.我用的是ps cc2014 解决办法:修改注册表 计算机\HKEY_CURRENT_USER\Software\Adobe\Photoshop\80 新建的是DWORD(3 ...
- Spring Boot与缓存
---恢复内容开始--- JSR-107.Spring缓存抽象.整合Redis 一.JSR107 Java Caching定义了5个核心接口,分别是CachingProvider, CacheMana ...
- js检查身份证号是否正确
转的,比较完善的验证身份证号的代码 /* check(ID)验证身份证号码 返回值:0 : "是正确的身份证号" 1 : "身份证校验不符合求和模11=1这个等式&quo ...
- 2019-04-29 EasyWeb下配置Atomikos+SQLServer分布式数据源
初次尝试: 配置Mysql时候使用的是Atomikos+DruidXADataSource,所以觉得配置SQLServer应该也是仅仅配置配置就够了,于是引入JDBC驱动依赖后,配置了文件 sprin ...
- js中如何向json数组添加元素
//1. var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval(' ...
- thinkphp 迁移数据库 -Phinx 简单说明文档
php think migrate migrate:create Create a new migration ///创建 migrate:rollback Rollback the last or ...
- openflow packet_out和packet_in分析
任务目的 1. 掌握OpenFlow交换机发送Packet-in消息过程及其消息格式. 2. 掌握OpenFlow控制器发送Packet-out消息过程及其消息格式. 实验原理 Packet-In 使 ...
- 使用sshpass同时更新一台ubuntu和一台CentOS
1.在ubuntu上安装sshpass sudo apt install sshpass 2.分别在两台的root路径下放上升级脚本: cent:/root/upgrade.sh #!/bin/bas ...
- LVS负载均衡NAT模式实现
LVS负载均衡之NAT模式配置 NAT 模式架构图: 操作步骤 实验环境准备:(centos7平台) 所有服务器上配置 # systemctl stop firewalld //关闭防火墙 # sed ...
- nuxt npm run dev 报错Solution to the "Error: listen EADDRINUSE 127.0.0.1:8080"
Solution to the "Error: listen EADDRINUSE 127.0.0.1:8080" Hello, Just sharing a solution t ...