vscode插件xlsxConvert使用说明

描述

插件提供功能:

1.将xlsx文件数据转出到json、zip程序可用的数据配置,以及转出ts作为代码提示。

2.支持多语言版本的配置功能,将不同语言版本文字导出到不同文件提供加载使用

3.支持正则匹配检测关联表数据正确性。

使用方式

1.打开vscode插件页搜索xlsxConvert安装最新版本

2.在xlsx表格所在目录创建table.json配置文件,并填写配置

配置说明:


table.json配置

其中clientData和serverData功能一致都是导出json,可以支持逗号作为分隔符,导出配置到多个目录。

clientSrc是导出客户端使用的ts代码,serverSrc是导出node服务端使用的ts代码。

fontPath是导出配置中设置了字体的文字,方便筛选需要制作位图字体的字库。

zipPath是将所有json文件合并成一个二进制数据压缩包减少加载文件个数的。

jsPath是直接将配置导出到js文件里。


3.新建xlsx文件

注意:所有需要导出的数据工作表必须是以sh或者sh_xx作为名称才会被导出

这里xx是插件为多渠道需要分支数据版本提供的功能。如果只有一个数据版本则用sh作为工作表名

工具支持三种形式的表,普通的一条条的数据表,常量表,语言表
所有表结构都是第一行作为表头字段,第二行作为描述,第三行开始作为数据

4.转表

在vscode对应目录上右键


xlsxConvert直接转表

xmlconvertAndCheck转表并检查关联表(正则检查相关内容会在另外文章说明),错误内容会在表目录下的err.log文件中。

5.代码加载使用

zip包web可以用 rawinflate.min.js库来解压,解析代码:


export class ConfigTableData {

        private _buffer: Byte;

        private _head: any;

        private _contentIndex: number;

        constructor(res) {

            let buff = ZlibUtils.decompress(res);

            this._buffer = new Byte(buff);

            let headLen = this._buffer.getUint32();

            let head = this._buffer.getUTFBytes(headLen);

            this._head = JSON.parse(head);

            this._contentIndex = headLen + 4;

        }

//获取对应文件名的数据内容

        public getTable(tableName: string) {

            if (!this._head[tableName]) return null;

            var [start, len] = this._head[tableName];

            this._buffer.pos = start + this._contentIndex;

            var data = this._buffer.readUTFBytes(len);

            return JSON.parse(data);

        }

    }


使用示例:

this._table = new ConfigTableData(res);

public registStaticData>(url: string, keyName?: string | Array, cls?: { new(...arg): T }): T {

            let d = this._table.getTable(url);

            if (!cls) cls = DataHash;

            return new cls(d, keyName, url);

        }

const=registStaticData("Const.json", null, StaticHash);

language = fy.dataMgr.registStaticData("Language_cn.json", null, StaticHash);

DataHash.lang = this.language;

item = registStaticData("Item.json");

你可能感兴趣的:(vscode插件xlsxConvert使用说明)