1.0.9 • Published 1 year ago

jupiter-table v1.0.9

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

使用指南


toc

介绍

jupiter-table是一个基于Node.js的表格转换工具,可以将Excel表格转换为TypeScript代码和JSON文件,方便TypeScript脚本语言编程者使用。

生成 interface.ts 示例:

// 表格转换接口
// 创建者:JupiterOcean
// 创建日期:2024/6/21 15:02:33
// 版本:1.0.1

export enum E_COLOR {
	GREEN = 1,
	RED = 2,
	YELLOW = 3,
	WHITE = 4,
	BLACK = 5,
	PUPLE = 6,
	/** 特殊颜色 */
	SPECIAL = 7,
}

export enum E_ITEMTYPE {
	/** 货币 */
	MONEY = "money",
	/** 纯道具 */
	ITEM = "item",
	EQUIP = "equip",
	/** 魔法道具 */
	MAGIC = "magic",
}

export interface Item {
	/** 道具ID */
	id: number;
	/** 道具数量 */
	num: number;
}

export interface ItemConfig {
	/** ID */
	Id: number;
	Name: string;
	/** 类型 */
	Type: number;
	/** 描述 */
	Desc: string;
}

安装

推荐直接拉取使用

git clone https://gitee.com/jupiter-ocean/table-tool.git

使用

直接使用脚本:

根路径下有一个一键导表.bat工具,双击运行即可。此时会将table目录下所有xlsx表格转换为对应的TypeScript代码和JSON文件并保存在tableOut目下。

自定义配置后使用脚本:

先打开根路径下的config.json文件:根据自己的项目需求修改对应的配置,然后再双击运行一键导表.bat工具。

{
  "server": {                                    // 服务器配置
    "exportCodePath": "",                        // 导出TypeScript代码路径
    "exportJsonPath": ""                         // 导出JSON文件路径
  },
  "client": {                                    // 客户端配置
    "exportCodePath": "tableOut",                // 导出TypeScript接口路径
    "exportJsonPath": "tableOut"                 // 导出JSON文件路径
  },
  "excelPath": "table",                          // 原始表格路径
  "isTest": true,                                // 测试模式
  "arraySplitFlag": "|",                         // 数组分隔符
  "structSplitFlag": "~",                        // 结构属性分隔符
  "deleteOldFile": true                          // 导出时先删除旧文件
}

表格规则

普通表格:

  • 第一行是定义字段英文名,推荐大驼峰法命名, eg: Id, Name, Age。其中 `Note note ` 字段会被忽略,用作注释列**。字段不可缺失,缺失字段此列不会被导出。
  • 第二行是定义字段所属方,C 客户端 S 服务端 CS 二者皆要 不填则都不会导出。
  • 第三行是字段的注释,可选,推荐使用中文。
  • 第四行是数据类型,可以使用一下基本数据类型或者在全局结构表和全局枚举表中定义的结构。类型不可缺失,缺失类型此列不会被导出。

    type baseType = "string" | "number" | "boolean" | "string[]" | "number[]";
  • 第五行开始是数据,每行对应一条数据,属性字段之间用~分隔,数组用|分隔。eg: 1~2|11~3 使用 Item[]结构就表示:

    [
      { id: 1, num: 2 },
      { id: 11, num: 3 },
    ];
  • 允许有空行,但建议不要有多余的空行。

  • 允许有空值,但只支持基本数据类型,以下是几个基本结构类型空值的状态。

    string: ""
    number: 0
    boolean: false
    string[]: []
    number[]: []

全局结构表:

  • 名称只能是*q.全局结构表.GlobalStructConfig.xlsx
  • 第一行是中文释义,不可改动
  • 从第二行起是具体的结构定义。
  • 推荐结构名称使用大驼峰法,eg: Item, MyObject。
  • 结构属性名使用小驼峰法,eg: id, name。
  • 结构属性类型只能使用基本数据类型

全局枚举表:

  • 名称只能是*q.全局枚举表.GlobalEnumConfig.xlsx
  • 第一行是中文释义,不可改动
  • 从第二行起是具体的枚举定义。
  • 推荐枚举名称使用全大写,eg: COLOR,ITEM_TYPE。如果是非全大写,转换过程中会改为全大写。
  • 推荐枚举属性使用全大写,eg: RED,TYPE1。如果是非全大写,转换过程中会改为全大写。
  • 在其他普通表格中使用枚举时,类型必须是枚举的名称,具体的值可以是枚举的属性名,也可以是枚举对应属性的值。
1.0.9

1 year ago