# excel2json **Repository Path**: code_one/excel2json ## Basic Information - **Project Name**: excel2json - **Description**: 在大神ahuang的excel2json的基础上修改,根据我自身的需要改了格式。大神的项目:https://github.com/ahuangege/excel2json.git - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-03-22 - **Last Updated**: 2023-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # excel2json 游戏内配置表导出json文件和ts类型声明文件的工具 xlsx表格转json,excel表格都保存在同一个目录即可,事实证明,在真实的游戏项目,把配置表都保存在同一级目录即可,简单直接,没必要搞那么多花里胡哨的。 ## 需安装node 配置文件为config.json,格式示例如下 ``` { "isPretty": true, // 是否美化输出 "isArray": true, // 输出格式为字典或数组,事实证明,同一个游戏中大家都遵从同一种规则是最好的,简单直接。 "client": true, // 是否要导出给客户端 "server": true, // 是否要导出给服务端 "input": "./excels", // excel保存的目录 "s_output": "./config_server", // 服务端的json保存目录 "c_output": "./config_client", // 客户端的json保存目录 "ts_output": "./config_d_ts" // ts类型声明的保存目录 } ``` ## excel 文件的格式是(示例截图和文件自己看),我假设使用者是把某个大模块的配置统一放在同一个excel文件中,通过sheet去区分模块中的不同配置文件: ``` Out 填 1 是导出该行数据,填 0 或者不填,则不导出这行 Key 必须填写,用于导出为Object的时候的key。若该配置文件中,有需要导出为array且唯一值也需要导出的话,请自己自行定义一列唯一值 server 这一行的类型是定义服务端的导出是否需要某一列的字段,比如:服务端不需要icon字段,则,设置类型为no,导出的server的json就没有这个字段 client 这一行是定义客户端的,逻辑和server的一样 表格中的中文注释 是字段的注释,这主要是给填表的人看,以及后续我加上导出ts的类型声明文件的注释使用。 sheet的name是必须设置的,且应该为英文,用于区分该大模块下的具体哪方面的配置 excel的文件名为: 英文-中文.xlsx 。中文给人找文件看,英文给工具导出命名模块用,简单直接。 ``` 至于这个模块的理解和需要分到多细致就看用的人的需求了。且命名需要遵从驼峰,且要求必须要填写注释 ## 已经加上了生成ts的相应的类型声明文件 类型总共有下面这些,数组类型的,几维数组直接定义即可: ``` no // 代表不导出当前列的字段 bool // boolean类型 int // number类型 string // bool[] // boolean数组 多维直接定义,比如:bool[][]等等 int[] // number数组 string[] // ``` ## 双击excel2json.bat 生成文件 目前这里说的excel是针对已经导出了配置数据的excel文件