- 可執行版本下載: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 命令行參數