开发者社区> 史迪奇abc> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看



项目情况

本文接上篇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工具使用

    主界面预览

    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                    场景配置表.excel


本文出自赵青青,原文链接:http://www.cnblogs.com/zhaoqingqing/p/7440867.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Qt实用技巧:VS2017编写纯C库以及使用Qt调用C库方法
Qt实用技巧:VS2017编写纯C库以及使用Qt调用C库方法
0 0
Qt三方库开发技术:Qt应用内部打开PDF文件
Qt三方库开发技术:Qt应用内部打开PDF文件
0 0
再见 VBA!神器工具统一 Excel 和 Python
再见 VBA!神器工具统一 Excel 和 Python
0 0
【开发环境】010 Editor 工具 ( 工具下载 | 二进制文件分析模板模板安装 | 快捷键查看与设置 )
【开发环境】010 Editor 工具 ( 工具下载 | 二进制文件分析模板模板安装 | 快捷键查看与设置 )
0 0
QT应用编程: Visual Studio里编写activex控件在网页中运行(dll插件形式)
QT应用编程: Visual Studio里编写activex控件在网页中运行(dll插件形式)
0 0
PyQt5 图形界面-用Qt Designer来设计UI界面,并转化为python代码运行实例演示
PyQt5 图形界面-用Qt Designer来设计UI界面,并转化为python代码运行实例演示
0 0
Qt 解析EXcel文件
写代码需要将excel中的文件导入到数据库中 网上找到以为大神写的,但是当初没有保存,也没有找到 我几乎是原分不动拔下来的,希望大神莫怪
0 0
代码对比工具,我就用这 6 个!
在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍六款程序员常用的代码比较工具。
0 0
QT编写图片数据转换工具
学习QT已经一个月了,觉得QT真是个好东西,他的这种跨平台机制简直太棒了!还有QML这东西,真牛B!在这段学习期间,因为一个项目的需要,需要将图片转成数据,然后传出去,那边接收到数据后再对应转换成图片,才有了下面这个小工具,开发环境:QT 4.7.0,在LINUX下面重新编译也可以在LINUX下面运行,代码不用改!先放张截图吧。
538 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载