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,欢迎与我联系。

    我的邮箱:[email protected]

    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

时间: 2024-11-09 16:20:29

TableML-GUI篇(Excel编译/解析工具)的相关文章

Excel通用类工具(二)

前言 上一篇中写到了用反射来处理类中的不用的属性,但是Excel的列名还得手动输入,这样还是比较麻烦的,今天这篇就利用自定义注解来解决手动传入列名的问题:其实很简单的,只需要在上一篇的基础上加一个类就可以了: 本篇所涉及的项目是在上一篇 Excel通用类工具(一) 的项目代码上进行的二次添加: 正文 新添加一个类 新添加一个注解类 ExcelName ,完整代码如下: import java.lang.annotation.ElementType; import java.lang.annota

APK反编译得工具总结(转载)

Android反编译技术总结 转自UncleChen's Blog,作者:UncleChen 一.Apk反编译工具及其使用方法 1.原理 学习反编译之前,建议先学习一下Apk打包的过程,明白打包完成后的Apk里面都有什么文件,各种文件都是怎么生成的. 这里有两篇AndroidWeekly中推荐过的好文章: 浅析 Android 打包流程 Android构建过程分析 Apk技术也有非常多的技术可以学习,主要都是围绕着如何减小体积,如何提高打包速度展开,这里先不多说了.下面是一张基本的Apk文件结构

JAVA - Sql解析工具fdb-sql-parser简单使用

由于想要解决Mybatis分页插件中count查询效率问题,因为order by很影响效率,所以需要一种方式处理sql,将order by 语句去掉. 试了好几个sql解析工具,最后选择了fdb-sql-parser. Maven依赖: <dependency> <groupId>com.foundationdb</groupId> <artifactId>fdb-sql-parser</artifactId> <version>1.

一个基于POI的通用excel导入导出工具类的简单实现及使用方法

前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴.经过思考,认为一百个客户在录入excel的时候,就会有一百个格式版本,所以在实现这个功能之前,所以要统一excel的格式.于是提供了一个通用excel模版的下载功能.当所有客户用模版录入好数据再上传到系统,后端对excel进行解析,然后再持久化到数据库. 概述: 此工具类的几大特点 1.基本导入导出

Android开源项目第四篇——开发及测试工具篇

本文为那些不错的Android开源项目第四篇——开发工具篇,主要介绍Android开发工具和测试工具相关的开源项目. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 1.Buck facebook开源的Android编译工具,效率是ant的两倍.主要优点在于

Java学习之道:Java上传下载excel、解析Excel、生成Excel的问题

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

Java上传下载excel、解析Excel、生成Excel

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

反编译apk工具,apk反编译工具Jadx的使用

Android初学者会使用其他人的apk,这样能知道别人是如何编写的,在知道别人是如何编写的前提下需要一款能实现反编译软件,再把软件反编译出来查看其中的代码. 如何使用反编译apk工具? 步骤一.打开Androidfby中的Android反编译工具,然后进行反编译,几维安全提醒一定要选中你要反编译的apk,此时就会得到xml.dex文件等.还可以通过解压文件的形式,但有一处弊端就是不能保证xml文件正常显示,所以建议结合一起使用. 步骤二.打开被反编译过后的文件夹然后找到classes.dex,

转:python命令行解析工具Argparse

转自:http://www.cnblogs.com/jianboqi/archive/2013/01/10/2854726.html 最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题,尤其是vc++中尤其繁琐. 现在用python来实现命令行,核心计算模块可以用c自己写扩展库,效果挺好. 学习了argparse,在官方文档中找到一篇toturia