【工具分享】做了个 Cocos Creator 配置表转换插件:Excel/CSV → JSON + TypeScript,支持批量导出

分享一个自己做的 Cocos Creator 配置表转换插件

最近在整理 Cocos Creator 的游戏开发工具时,做了一个配置表转换插件,叫做 游戏配置表生成器 Pro。

主要解决一个比较常见的问题:如何把 Excel / CSV 配置表转换成 JSON,同时生成对应的 TypeScript interface?

目前插件已经在 Cocos Creator 3.8.8 环境下完成测试,并上架 Cocos Store。

在这里分享一下实现思路和实际功能,也想听听大家对游戏配置表处理流程的建议。

一、为什么做这个工具?

开发游戏时,经常会遇到各种配置表,例如:

  • 道具表:ID、名称、价格、描述
  • 角色表:ID、生命值、攻击力、防御力
  • 装备表:ID、品质、等级、属性
  • 技能表:ID、伤害、冷却时间、技能说明
  • 关卡表:ID、难度、奖励、解锁条件

用 Excel 维护这些数据比较直观,但真正放进游戏项目时,通常还要处理 JSON 转换和 TypeScript 类型定义。

如果配置表比较多,重复转换、检查字段类型和维护接口就会比较麻烦。

当然,可以自己写 Python / Node.js 脚本,或者使用已有的导表工具。

我这次主要想做一个操作直观、适合独立开发者和小型项目的 Cocos Creator 编辑器插件,把常用流程集中在一个界面中。

二、配置表转换时,有几个容易忽略的问题

1. 编号不一定是数字

例如道具表中有这样的数据:

id name price
001 生命药水 50
002 魔法药水 80

如果把 id 直接当成数字处理,001 就可能变成 1。

所以转换时不能只看数据是否由数字组成,还需要考虑字段的实际用途。

对于这种编号,更适合设置为 string,而价格则可以设置为 number。

2. 空单元格会影响类型定义

例如某个数字字段允许留空。

如果 JSON 中保留空字符串,那么对应的 TypeScript 字段就不能简单定义为 number。

一种处理方式是使用 number | "" 联合类型,使类型定义能够反映实际数据情况。

这个插件也针对数字和布尔字段中的空单元格进行了相应处理。

3. 批量转换时需要防止覆盖文件

当多个配置表输出到同一个目录时,可能出现同名文件。

如果直接覆盖,原来的文件就可能丢失。

因此,我在批量转换中加入了已有文件检查:检测到输出冲突时,会给出提示,不会直接覆盖已有文件。

三、目前插件实现了哪些功能?

1. CSV / Excel 导入

  • 支持 UTF-8 CSV 和 Excel .xlsx 文件。
  • 支持 Excel 多工作表切换。
  • 可以预览导入后的原始数据。
  • 支持中文文本和空单元格等常见数据情况。

【配图 1:CSV / Excel 导入与原始数据预览的真实截图】

2. 手动配置字段类型

支持以下类型:

  • string
  • number
  • boolean

字段类型设置可以保存在当前项目的本地配置中,重新处理对应配置表时能够减少重复设置。

这里没有做成完全自动推断类型,因为像 001 这样的编号,需要由开发者根据业务含义决定使用什么类型。

3. 同时生成 JSON 和 TypeScript

根据配置表内容及字段类型,可以生成:

  • JSON 数据文件
  • TypeScript interface

同时支持自定义 Interface 名称。

这样在维护配置表数据时,可以一并更新对应的类型定义,减少手动编写接口的工作。

【配图 2:JSON 数据文件与 TypeScript interface 真实生成结果】

4. 多文件批量转换

支持一次处理多个 CSV / Excel 文件,以及 Excel 中的多个工作表。

可以设置各表的输出文件名称和 Interface 名称,并选择需要生成的文件类型。

转换前可以检查输出清单,转换后可以查看成功、失败及文件写入情况。

【配图 3:批量转换 4 张配置表、生成 8 个文件的真实截图】

5. 输出冲突检查

在批量转换前,插件会检查目标目录中是否已经存在同名文件。

检测到冲突时,会显示相关提示,避免直接覆盖原有文件。

对于需要反复更新配置表的项目,这个功能会比较实用。

四、适合什么样的开发者?

我觉得比较适合以下场景:

  • 用 Cocos Creator 做独立游戏。
  • 配置表主要通过 Excel / CSV 维护。
  • 项目中需要 JSON 数据与 TypeScript 类型定义。
  • 不想为了常规导表流程单独维护转换脚本。
  • 希望通过图形界面完成多个配置表的批量转换。

如果项目已经有比较成熟的自动化导表系统,可能就不需要另外使用这款工具。

它的定位不是替代所有数据处理方案,而是提供一种相对轻量、直观的配置表转换方式。

五、插件下载与使用说明

插件名称: 游戏配置表生成器 Pro

适用环境: Cocos Creator 3.8.8(已测试版本)

价格: ¥15

Cocos Store 商品链接:

【请在这里粘贴商品的公开购买链接】

商品页面中附有真实功能截图、使用说明、兼容性信息及联系方式。

其他 Cocos Creator 版本暂未完成兼容性验证,购买前请注意确认。

六、想听听大家的建议

这是我自己开发并上架的一款小工具,目前还在收集实际使用反馈。

比较想了解几个问题:

  1. 大家平时是用 Python / Node.js 脚本导表,还是使用现成的 Creator 插件?
  2. 你们的项目更常用 JSON、TypeScript,还是其他数据格式?
  3. 你觉得配置表工具最重要的是批量处理、数据校验、类型生成,还是其他功能?

欢迎在评论区交流实际的开发工作流。如果大家有比较典型的需求或使用建议,我也会认真参考。

希望这个小工具能给正在使用 Cocos Creator 的开发者提供一点帮助。

这种事现在想要什么格式,想怎么导,跟ai说一句,分分钟脚本就写完了

那也不能完全这么说,还是不一样的,工具使用起来方便,我也是几年前自己写了个导表的插件,也是全功能的,现在还一直在用,肯定还是比每次让AI生成脚本导方便一些,并且策划只需要使用工具。

直接用luban,开源而且强大,ts c# rust go一个导表工具直接搞定,不少大厂项目都在使用