2023-04-03 11:04:31 +08:00

133 lines
3.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 使用须知
##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 | 技能类型 | 技能名字 | ...
```
<span style="color:red">注意:</span>注释行必须第一个必须以 `//` 开头
第二行为导出信息,即原来的颜色格式,例如:
```
required#both | required#client | optional#back | ...
```
其中,`required``optional`是一组可选项,分别代表该列内容必须存在 和 可以为空;
`both`,`client`,`server`,`none`是一组可选项分别代表导出为2种语言仅导出为客户端语言仅导出为后端语言不需要导出该列
使用时使用`#`分割多个选项,如果该列格式信息为空,那么使用默认值`optional#both`
第三行为列名字,例如:
```
*id | kind | form | trigger | ...
```
<span style="color:red">注意:</span> 导出的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代码多键支持的功能