五维思考

学习要加,骄傲要减,机会要乘,懒惰要除。 http://www.5dthink.cn

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  • 可执行版本下载: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
)

excel2json_gui
excel2json_cmd

命令行参数

  • -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表单格式约定

excel2json_example

  • 第一行固定作为列名(用来构造json字段名称);
  • 第一列固定作为对象的ID;
  • 读取Excel Workbook中的第一个sheet;
  • 对于SQL导出模式:第二行固定为字段类型
  • 使用表头生成C#数据定义代码

在Mac、Linux上运行

这个小工具使用C#编写,编译出来的.exe通过Mono即可在Mac或者Linux上运行。

posted on 2018-09-22 21:02  五维思考  阅读(4656)  评论(0编辑  收藏  举报

QQ群:1. 全栈码农【346906288】2. VBA/VSTO【2660245】