一個(gè)基于C#開發(fā)的Excel轉(zhuǎn)Json工具使用教程
前言
Json在程序開發(fā)中是非常常用的數(shù)據(jù)格式,對(duì)于程序員來(lái)說(shuō),閱讀和編輯Json都沒有什么問(wèn)題,但其他人就不是那么方便了。比如配置游戲數(shù)據(jù):游戲角色、技能、道具的名稱,策劃書往往都是通過(guò)Excel配置,這樣比較方便設(shè)置。但在程序運(yùn)行時(shí)就需要Excel轉(zhuǎn)為Json。
項(xiàng)目簡(jiǎn)介
這是一個(gè)基于C#開發(fā)的Excel轉(zhuǎn)Json工具,比通過(guò)Office Excel組件訪問(wèn)數(shù)據(jù)性能提升100倍,支持界面、命令模式。
技術(shù)架構(gòu)
1、Visual Studio 2012、.Net Framework 4.0
項(xiàng)目結(jié)構(gòu)
主要功能
- 支持讀取 Excel 97-2003的 .xls格式和2007的 .xlsx格式;
- 支持多個(gè)表單導(dǎo)出;
- 把Excel表單轉(zhuǎn)換成Json對(duì)象,并保存到一個(gè)文本文件中。支持將表中內(nèi)容轉(zhuǎn)換成Array,或者以第一列為ID的字典對(duì)象;
- 將表頭信息生成 C# 結(jié)構(gòu)體定義代碼;
- 進(jìn)階特性
- 通過(guò)特定的前綴排除掉表單或者列
- 自動(dòng)識(shí)別和轉(zhuǎn)換單元格內(nèi)的 Json 格式字符串,并轉(zhuǎn)換成為 Json Array 或者 Json Object
使用方式
支持命令模式與界面操作模式
1、命令模式
命令行參數(shù)
- -e, –excel Required. 輸入的Excel文件路徑.
- -j, –json 指定輸出的json文件路徑.
- -h, –header Required. 表格中有幾行是表頭.
- -c, –encoding (Default: utf8-nobom) 指定編碼的名稱.
- -l, –lowcase (Default: false) 自動(dòng)把字段名稱轉(zhuǎn)換成小寫格式.
- -a 序列化成數(shù)組
- -d, --date:指定日期格式化字符串,例如:dd / MM / yyy hh: mm:ss
- -s 序列化時(shí)強(qiáng)制帶上sheet name,即使只有一個(gè)sheet
- -exclude_prefix:導(dǎo)出時(shí),排除掉包含指定前綴的表單和列,例如:-exclude_prefix #
- -cell_json:自動(dòng)識(shí)別單元格中的Json對(duì)象和Json數(shù)組,Default:false
@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 )
2、界面模式
項(xiàng)目地址:https://github.com/neil3d/excel2json
總結(jié)
到此這篇關(guān)于一個(gè)基于C#開發(fā)的Excel轉(zhuǎn)Json工具的文章就介紹到這了,更多相關(guān)C#開發(fā)Excel轉(zhuǎn)Json工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)ComboBox自動(dòng)匹配字符
本文介紹C#如何實(shí)現(xiàn)ComboBox自動(dòng)匹配字符1.采用CustomSource當(dāng)做提示集合2. 直接使用下拉列表中的項(xiàng)作為匹配的集合,需要了解的朋友可以參考下2012-12-12C#操作Clipboard讀取剪切板中數(shù)據(jù)實(shí)例詳解
這篇文章主要介紹了C#操作Clipboard讀取剪切板中數(shù)據(jù)的方法,實(shí)例分析了C#讀取剪貼板數(shù)據(jù)的具體步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-05-05Qt讀取本地系統(tǒng)時(shí)間的幾種方式小結(jié)
這篇文章主要介紹了Qt讀取本地系統(tǒng)時(shí)間的幾種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03C#通過(guò)Semaphore類控制線程隊(duì)列的方法
這篇文章主要介紹了C#通過(guò)Semaphore類控制線程隊(duì)列的方法,涉及Semaphore類操作線程隊(duì)列的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C#根據(jù)前臺(tái)傳入實(shí)體名稱實(shí)現(xiàn)動(dòng)態(tài)查詢數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了C#如何根據(jù)前臺(tái)傳入實(shí)體名稱實(shí)現(xiàn)動(dòng)態(tài)查詢數(shù)據(jù)的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04C#實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音功能
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03