TableML-GUI篇(C# 編譯/解析 Excel/CSV工具)

項目狀況

本文接上篇TableML Excel編譯/解析工具,本文主要介紹GUI工具的使用,及配置項,若是你想了解此工具更加詳細的說明,請閱讀上篇文章。html

項目地址:https://github.com/zhaoqingqing/TableMLgit

 

項目介紹和更新日誌

項目介紹github

TableML, Table Markup Language, 基於電子表格的標記語言,sql

相似JSON, XML, INI,TableML能夠做爲軟件項目的配置標記語言,數據庫

與之不一樣的是,您可使用Excel等電子表格編輯軟件來配置TableML,自由地添加圖標、註釋、VB腳本和預編譯指令,再由TableML編譯器導出乾淨的TSV格式的配置表表格,編輯方便,使用簡單。數據結構

目前提供C#版本的運行時、編譯器、代碼生成器。app

 

更新日誌工具

https://github.com/zhaoqingqing/TableML/blob/custom/update_log.mdui

 

實現原理和功能介紹

技術原理

使用C#語言開發,底層使用NPOI庫解析Excel,對npoi再次封裝,簡化開發難度。spa

經過模版引擎由Excel數據結構填充,生成對應的代碼,無需人工編寫讀表代碼。

Winform開發GUI界面  ,下降使用難度,給非技術類同事提供友好界面。

支持把解析後的Excel數據插入到數據庫中。

 

功能介紹

感謝Mr.Kelly的開源項目,我基於Kelly的TableML基礎上進行擴展(https://github.com/mr-kelly/TableML),增長或修改如下功能:

  • 擴展支持多種格式的Excel配置 文件 ,好比首列爲註釋列,表頭列在自定義行
  • 若是某列不須要,能夠把表頭列項置空
  • 支持能夠爲每個Excel生成一個單獨的C#文件類
  • 支持把數據插入到sql數據庫中,並生成sql腳本(數據庫腳本語言)
  • 提供GUI界面,本來已提供命令行模式
  • GUI支持文件拖動編譯單個Excel,和編譯某個文件的Excel,或者直接讀取tsv文件
  • GUI上同時開發了輔助工具,用於檢查Excel數據的合法性,字段名是否重複

 技術支持

若是在使用過程當中遇到問題或發現bug,歡迎與我聯繫。

個人郵箱:569032731@qq.com

TableML-GUI 

讀懂配置文件

tablemlGUI.exe目前提供一份簡易的xml配置文件,用於初始化tableml-gui

打開tablemlGUI.exe所在的目錄,找到app.config

建議使用notepad++,sublime text,editplus等能夠高亮xml關鍵詞和語法,減小改錯概率

在app.config中,每一條重要的配置項都添加了註釋說明(<!--中間是註釋說明 -->),好比:

<!--是否使用絕對路徑;true:全部路徑都是絕對的,完整路徑;false:全部路徑是相對於此exe的-->
<add key="UseAbsolutePath" value="false" />

<!--excel源文件路徑-->
<add key="srcExcelPath" value=".\..\Src\" />

<!--excel編譯後的database保存路徑-->
<add key="DBPath" value=".\..\client_setting\data.db" />

是否使用絕對路徑?

UseAbsolutePath是一項重要配置,它決定整個應用程序中上涉及到的路徑是相對路徑仍是絕對路徑。

絕對路徑是指一個文件的完整路徑,完整到盤符,路徑不包含..\之類的。

我是絕對路徑:c:\work\plan\005ConfigTable\client_tool\TableMLGUI.exe

我是相對路徑:..\client_tool\TableMLGUI.exe

有些路徑我不知道填?

客戶端讀表代碼路徑 和 客戶端項目tml路徑 ,這兩項若是你不須要用到,那就保持默認值,不用修改

若是你是一名策劃,只須要導表,那你基本就只須要修改DBPath爲客戶端的路徑。

GUI工具使用

主界面預覽

image

編譯所有或部分
  • 編譯並插入到sqlite中

  • 若是你須要編譯某個目錄下所有的excel並把編譯結果播放到sqlite中,就選擇它。
  • ​編譯指定的幾個excel(若是僅僅想編譯指定的幾個excel,把要的excel拖到框中,選擇 編譯上面框中的excel

其它功能

命令行支持

GUI同時提供命令行參數功能,目前支持單個或批量編譯所有的excel,並將數據插入到sqlite中,它是一個bat,雙擊就OK了。

命令行使用示例:

編譯某個目錄下的全部excel:

cd /d %~dp0

start TableMLGUI.exe all

輔助功能

這裏是一些輔助的功能,你能夠看看。

標題中的組是指把某類功能放在一個組,一個統一的面板下。

組- For CSharp版本使用

根據Excel生成對應的C#代碼,並拷貝到對應的目錄下

若是是把數據插入到sqlite中,這部分功能不會用到,咱們目前就是。

組- 檢查Excel錯誤

當你的表在導出出現錯誤,能夠選擇性的使用這裏的一些功能對excel進行檢查

組- 其它

這裏是一些文件夾打開類的功能

其它功能

在編譯excel後,會在應用程序目錄生成一個compile_result.csv,當源始Excel文件名並不能直接用做代碼文件名,或excel文件名有中文時,方便策劃和程序對接時查看。

表中記錄示例:

編譯後tsv[文件名]  源始Excel文件名
scene_config  場景配置表.xls
item_config 道具配置表.xls
相關文章
相關標籤/搜索