- 可执行版本下载:https://github.com/neil3d/excel2json/releases
- 完整项目源代码下载:https://github.com/neil3d/excel2json
- 主要功能是:把Exce的l表单转换成json对象,并保存到一个文本文件中
- 详细帮助文档请见:https://neil3d.github.io/app/excel2json.html
超级快的Excel转换工具,比使用Excel COM组件或者OLE DB的方式快100倍。支持转换成JOSN、SQL等数据输出。
主要功能:
- 把Excel表单转换成Json对象,并保存到一个文本文件中。支持将表中内容转换成Array,或者以第一列为ID的字典对象;
- 把Excel表单转换成SQL文本;
- 把Excel的表头转换成C#的struct数据定义代码。
由于这里使用OpenXML格式直接解析,所以只支持.xlsx文件,并不支持.xls文件。
支持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文件路径.
- -s, –sql 指定输出的SQL文件路径.
- -p, –csharp 指定输出的C#数据定义代码文件路径.
- -h, –header Required. 表格中有几行是表头.
- -c, –encoding (Default: utf8-nobom) 指定编码的名称.
- -l, –lowcase (Default: false) 自动把字段名称转换成小写格式.
例如: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 命令行参数