C# Excel转换成Json工具(含源码)
- 可执行版本下载: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 命令行参数
C# Excel转换成Json工具(含源码)的更多相关文章
- excel导入数据库实例(含源码 超级详细适合新手)
(案例的源码在我的百度网盘里,需要的朋友可以加我微信分享,gqljxg1514) 所有文件一览: 运行结果图: 1,首先创建实体类Student.java package com.b510.excel ...
- Java读取Excel转换成JSON字符串进而转换成Java对象
Jar包
- TexturePacker大图还原成小图工具带源码
TexturePacker是一个把好多小图打成大图的软件,生成的是大图以及小图在大图位置的.plist描述文件,但是不支持把大图还原成小图.网上偷的图一般都是大图和plist,想得到小图比较麻烦,于是 ...
- 自制小工具含源码——SPTC上海交通卡余额查询
说明 需求 开发 其他
- 分享一个小工具:Excel表高速转换成JSON字符串
在游戏项目中一般都须要由策划制作大量的游戏内容,当中非常大一部分是使用Excel表来制作的.于是程序就须要把Excel文件转换成程序方便读取的格式. 之前项目使用的Excel表导入工具都是通过Offi ...
- 使用jxl读取excel内容,并转换成Json,用于Datagrid
一.上传excel文件,得到InputStream,由InputStream得到Jxl中的Workbook,取出内容,存到二维数组中. 1.使用 Jquery Uploadify 插件(http:// ...
- Java读取Excel文件转换成JSON并转成List——(七)
Jar包
- C 简单处理excel 转成 json
引言 工作中常需要处理excel转json问题. 希望这篇博文能简单描述这个问题.并提供一种解决思路.提升感悟. 今天我们处理的事就是为了把 xlsm => json. 一种方式是. 去 goo ...
- JSON详解以及可以把javabean转换成json串的json-lib应用
JSON 1. json是什么 它是js提供的一种数据交换格式! 2. json的语法 {}:是对象! 属性名必须使用双引号括起来!单引不行!!! 属性值:null,数值,字符串,数组:使用[]括起来 ...
随机推荐
- Git——Git的简单介绍【一】
官方网站 Git官网 https://git-scm.com/ GitHub https://github.com GitLab https://about.gitlab.com/ SVN https ...
- HDU1890-Robotic Sort-Splay
#include <cstdio> #include <algorithm> #include <cstring> using namespace std; #de ...
- Codeforces1073E Segment Sum 【数位DP】
题目分析: 裸的数位DP,注意细节. #include<bits/stdc++.h> using namespace std; ; int k; ][],sz[][],cnt[][]; ] ...
- Django+Vue打造购物网站(一)
环境搭建 python == 3.6 Django == 2.0 创建工程 django-admin startproject MxShop 配置setting.py文件 # 数据库 DATABASE ...
- ☆ [HDU2089] 不要62「数位DP」
类型:数位DP 传送门:>Here< 题意:问区间$[n,m]$的数字中,不含4以及62的数字总数 解题思路 数位DP入门题 先考虑一般的暴力做法,整个区间扫一遍,判断每个数是否合法并累计 ...
- NTT算法小结
从理论上说,经过人们优化的FFT已经十分优秀,能够处理大部分的多项式乘法,但是有的时候仍然会出现下面的情况: 1)常数仍然比较大 2)在进行与整数有关的FFT时,发现得到的结果是一堆诡异的数,你需要不 ...
- jQuery 方式模拟提交表单
//add test moudle define(function(require , exports , module) { //=========== 不使用模块化只使用如下代码即可 start ...
- hiho1255 Mysterious Antiques in Sackler Museum
题目链接:http://media.hihocoder.com/contests/icpcbeijing2015/problems.pdf 题目大意:给你四个矩形,判断是否能取其中任意三个组成一个大矩 ...
- uvaLive7303 Aquarium (kruskal)
题意:给R*C的房间,每个房间被左上-右下或右上-左下的墙分割为两个小房间,将分割移除有一定花费,问使所有小房间联通需要的最小花费 把每个房间分成左右(上下?)两个点,判一判,本来就联通的加零边,一个 ...
- MyBatis深入浅出--入门
mybatis概述 mybatis简介 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. ...