# 使用须知 ##1. 使用范围 -本工具提供新格式(使用文字替代颜色)的导表功能,转表(将旧格式转换为新格式)功能,老格式转表功能在*`oldExcel`*分支。 -支持导出为lua/erl格式(需要在config.json文件中配置)。 -支持xls, xlsx文档的导表及转表功能(注意,请不要使用mac的另存为功能将xls文件保存为xlsx,该操作将导致颜色信息丢失) ##2. 使用方法 *\*如果第一次使用,请先安装python,并按照步骤3方式安装依赖\** * 命令行版本:在mac或windows下tranExcel目录下执行一下命令: ```shell python tran.py srcDir/ destDir/ ``` ​ 将提取srcDir目录下的所有xls/xlsx文件,导出为lua和erl代码到destDir目录下。 * ui版本:在mac或者windows下打开 wxtran.py程序 ## 3.安装python及依赖 如果导表机器没有安装`python2.7`,那么首先需要根据(https://www.python.org/downloads/release/python-2715/)安装`python2.7`,如果在`windows`使用,还需要配置环境变量,在`path`的最后新增`;C:\Python27\` 第一次使用前,`windows`下需要执行`install.bat`,`linux`/`mac`下需要执行`bash install.sh`,以后的运行不在需要执行这2步操作。 ##4. 配置导出黑白名单 在`srcDir`目录下放置一个名为`config.json`的文件将使导表工具根据该配置进行导出过滤,以下为例: ```json { "erlang": true, "lua": false, "go": true, "ignore": [ "strings/", "!strings/cn/" ], "erl_suffix": "erl", "lua_suffix": "lua.bytes", "lua_force_lowercase": true, "forbid_xls": true, "go_package": "config", "lua_compact": false } ``` 其中`"erlang": true`代表导出erl 文件,`"lua": false`代表不导出lua文件,`"go: true`代表导出go文件 `ignore`为忽略项,使用目录或者文件名来忽略目录或文件的导出,使用`!`加目录及文件名来使得之前被忽略的文件重新导出。 上面示例的`config.json`文件代表 仅导出erl文件,并且不要导出`strings/`目录下的文件除了在`strings/cn`内的文件。 `erl_suffix`和`lua_suffix`用于指定导出文件的文件名后缀 `go_package`用于指定导出go代码的根目录的package名字 `lua_compact`用于控制是否输出紧凑格式的lua代码 ## 5.转表 该软件提供将颜色格式的excel表转换为描述性字符的excel表,使用方式为: ```shell python tran.py srcDir/ destDir/ version ``` 注意:xls文件转表将导致excel文件格式丢失,仅保留文字信息。 ## 6.新导表格式 excel文件中,第一行为注释信息例如: ``` //技能id | 技能类型 | 技能名字 | ... ``` 注意:注释行必须第一个必须以 `//` 开头 第二行为导出信息,即原来的颜色格式,例如: ``` required#both | required#client | optional#back | ... ``` 其中,`required`和`optional`是一组可选项,分别代表该列内容必须存在 和 可以为空; `both`,`client`,`server`,`none`是一组可选项,分别代表导出为2种语言,仅导出为客户端语言,仅导出为后端语言,不需要导出该列; 使用时使用`#`分割多个选项,如果该列格式信息为空,那么使用默认值`optional#both`。 第三行为列名字,例如: ``` *id | kind | form | trigger | ... ``` 注意: 导出的lua, erl 代码都使用hashmap来存储配置文件,而key通过列名字是否带`*`提现。带`*`的的列为key列。 第四行为列类型,例如: ``` int | int | [int] | [effect] | ... ``` ## 更新日志 v1.0.4 * 增加更加详细的报错信息 v1.0.3 * lua格式支持导出json格式,**json格式仅支持lua**,json导出erlang或golang会报错 v1.0.2 * lua导出格式变更为多返回值`data, count, other_keys`,go导出格式变更。 v1.0.1 * 增加导出go代码的功能 v1.0.0 * 增加lua代码多键支持的功能