码迷,mamicode.com
首页 > 其他好文 > 详细

TableML-GUI篇(Excel编译/解析工具)

时间:2017-08-28 23:55:55      阅读:629      评论:0      收藏:0      [点我收藏+]

标签:基础   path   back   字段名   html   标记   文件名   介绍   编写   

项目情况

本文接上篇TableML Excel编译/解析工具,本文主要介绍GUI工具的使用,及配置项,如果你想了解此工具更加详细的说明,请阅读上篇文章。

项目地址:https://github.com/zhaoqingqing/TableML

 

项目介绍和更新日志

项目介绍

TableML, Table Markup Language, 基于电子表格的标记语言,

类似JSON, XML, INI,TableML可以作为软件项目的配置标记语言,

与之不同的是,您可以使用Excel等电子表格编辑软件来配置TableML,自由地添加图标、注释、VB脚本和预编译指令,再由TableML编译器导出干净的TSV格式的配置表表格,编辑方便,使用简单。

目前提供C#版本的运行时、编译器、代码生成器。

 

更新日志

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

 

实现原理和功能介绍

技术原理

使用C#语言开发,底层使用NPOI库解析Excel,对npoi再次封装,简化开发难度。

通过模版引擎由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工具使用

    主界面预览

    技术分享

    编译全部或部分

     

  • 编译并插入到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                    场景配置表.excel

 

TableML-GUI篇(Excel编译/解析工具)

标签:基础   path   back   字段名   html   标记   文件名   介绍   编写   

原文地址:http://www.cnblogs.com/zhaoqingqing/p/7440867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!