Home

Awesome

导表工具

项目主页:https://github.com/youlanhai/ExcelToCode

Excel文件:

转换后的python数据表:

# -*- coding: utf-8 -*-
# 此文件由导表工具自动生成,禁止手动修改。
# from example.xlsx

# A ID                  编号
# B name                名称
# C describe            描述
# D quality             品质
# E drop                掉落关卡
main_sheet = {
    1: {"describe": "切菜用的", "drop": [1, 2, 3, 4, ], "name": "菜刀", "quality": 1, },
    2: {"drop": [2, ], "name": "上方宝剑", "quality": 5, },
    3: {"name": "偃月弯刀", "quality": 0, },
}

原理

  1. 构造exporter对象,开始整个导表流程
  2. 搜索INPUT_PATH路径下的所有Excel文件
  3. 构造parser对象,将Excel数据转换成python格式的中间数据表
  4. 如果定义了后处理操作,exporter将对数据表执行后处理操作。比如表头合并,合法性检查
  5. 实例化writer对象,将python表转换成最终的python、lua、json等格式的数据表。

准备

工具用法

python main.py --export your_configure_file
main导表参数说明
config_filepython格式的配置文件。配置文件的详细写法,参考配置文件参数详解
--gen-code生成类代码,目前仅支持Java。需要在config文件中,指定代码生成器参数CODE_GENERATORS
--export执行导表
--fast-mode快速模式,仅重新解析最近修改过的Excel表。解析Excel表的过程非常慢,快速模式会使用已经生成的中间文件来避免二次解析Excel表
--force-run出错后是否继续进行导表。常用于发现更多的错误
--gen-header根据转换器描述信息,自动生成表头

范例

samples目录。direct-mode目录下的例子使用的是直接模式(Direct)config-mode目录下的例子使用的是配置模式(Config)mix-mode目录下的例子使用的是混合模式(Mix)

文件名称描述
config.py导表工具配置文件
export.bat/export.sh导表批处理文件
excels存放excel文件所在目录
converters转换器父级目录
converters/converter转换器脚本存放路径

文档

  1. 配置文件参数详解
  2. 表格添加方法

路径说明

路径说明
codegen代码生成器。如,生成Java代码
doc文档
exporters导出器。用于将excel表转换成相应的数据结构
parsersexcel解析器。解析单个excel表格
postprocess后处理器。导表结束后,可以执行一些额外的操作。比如,移动文件目录,生成文件列表等
samples一些例子
tps通用类型转换器。用于将数据转换成具体的Python数据类型
writers写出器。用于将Python数据表,写出成不同格式的数据表。如,Lua、Json等。