在游戲項目中一般都需要由策划制作大量的游戲內容,其中很大一部分是使用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 命令行參數
