c1_unity/Tools/tranexcel_new
2023-06-09 17:35:27 +08:00
..
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00
2023-06-09 17:35:27 +08:00
2023-04-03 11:04:31 +08:00
2023-06-09 17:35:27 +08:00
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00
2023-04-03 11:04:31 +08:00

使用须知

##1. 使用范围

-本工具提供新格式(使用文字替代颜色)的导表功能,转表(将旧格式转换为新格式)功能,老格式转表功能在*oldExcel*分支。

-支持导出为lua/erl格式需要在config.json文件中配置

-支持xls, xlsx文档的导表及转表功能注意请不要使用mac的另存为功能将xls文件保存为xlsx该操作将导致颜色信息丢失

##2. 使用方法

*如果第一次使用请先安装python并按照步骤3方式安装依赖*

  • 命令行版本在mac或windows下tranExcel目录下执行一下命令
	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.batlinux/mac下需要执行bash install.sh以后的运行不在需要执行这2步操作。

##4. 配置导出黑白名单

srcDir目录下放置一个名为config.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_suffixlua_suffix用于指定导出文件的文件名后缀

go_package用于指定导出go代码的根目录的package名字

lua_compact用于控制是否输出紧凑格式的lua代码

5.转表

该软件提供将颜色格式的excel表转换为描述性字符的excel表使用方式为

python tran.py srcDir/ destDir/ version

注意xls文件转表将导致excel文件格式丢失仅保留文字信息。

6.新导表格式

excel文件中第一行为注释信息例如

//技能id | 技能类型 | 技能名字 | ...

注意:注释行必须第一个必须以 // 开头

第二行为导出信息,即原来的颜色格式,例如:

required#both | required#client | optional#back | ...

其中,requiredoptional是一组可选项,分别代表该列内容必须存在 和 可以为空;

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格式仅支持luajson导出erlang或golang会报错

v1.0.2

  • lua导出格式变更为多返回值data, count, other_keysgo导出格式变更。

v1.0.1

  • 增加导出go代码的功能

v1.0.0

  • 增加lua代码多键支持的功能