在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:tabtoy开源软件地址:https://gitee.com/wwwgolangltd/tabtoy开源软件介绍:tabtoy游戏客户端,服务器的策划表格数据导出 优点
商用项目
迭代历程
导出性能53个Excel源文件, 格式xlsm, 大小3.8M 导出速度(硬件环境: i7-4790 8核+SSD), 2.4s 第六代导出器文档(tabtoy v2)功能强大的的导出表格式 详细的输出日志及报错信息,以及精准到单元格的多语言报错 导出步骤准备电子表格文件格式请参考: https://github.com/davyxu/tabtoy/blob/master/v2/example/Sample.xlsx 准备tabtoy二进制
编写导出命令行范例: tabtoy --mode=v2 --json_out=config.json --combinename=Config Table.xlsx
Golang读取例子[例子](https://github.com/davyxu/tabtoy/tree/master/v2/example/golang) config := table.NewConfigTable() if err := config.Load("Config.json"); err != nil { panic(err) } for index, v := range config.SampleByID { fmt.Println(index, v) } C#读取例子[例子](https://github.com/davyxu/tabtoy/tree/master/v2/example/csharp) using (var stream = new FileStream("../../../../Config.bin", FileMode.Open)) { stream.Position = 0; var reader = new tabtoy.DataReader(stream); if ( !reader.ReadHeader( ) ) { Console.WriteLine("combine file crack!"); return; } var config = new gamedef.Config(); table.Config.Deserialize(config, reader); // 直接通过下标获取或遍历 var directFetch = config.Sample[2]; // 根据索引取 var indexFetch = config.GetSampleByID(100); // 取不存在的元素时, 返回给定的默认值, 避免空 var indexFetchByDefault = config.GetSampleByID(0, new gamedef.SampleDefine() ); // 添加日志输出或自定义输出 config.TableLogger.AddTarget( new tabtoy.DebuggerTarget() ); // 取空时, 当默认值不为空时, 输出日志 var nullFetchOutLog = config.GetSampleByID( 0 ); } lua读取例子[例子](https://github.com/davyxu/tabtoy/tree/master/v2/example/lua) -- 添加搜索路径package.path = package.path .. ";../?.lua"-- 加载local t = require "Config"-- 直接访问原始数据print(t.Sample[1].Name)-- 通过索引访问print(t.SampleByID[103].ID)print(t.SampleByName["黑猫警长"].ID) 所有例子
详细文档功能扩展多表合并导出一些表格, 如角色, 道具的表格, 会将角色或道具充当不同的角色和功能, 例如: 道具作为装备道具作为宠物, boss配置, 怪物配置, npc配置等等 tabtoy支持按功能分类后的表格, 导出时保持一致的表头及类型, 方便策划拆表进行多人协作 tabtoy --mode=v2 --json_out=CombineConfig.json --combinename=Config Item.xlsx+Item_Equip.xlsx+Item_Pet.xlsx 需要合并的同类表格间使用'+'互相连接 导出Tag匹配如果客户端使用C#并读取二进制导出数据, 服务器使用golang开发读取json
减少数据冗余和保证客户端数据安全, tabtoy已经为你考虑 支持纵向导出, 用于配置表FAQ能够将某些列隐藏不导出?在列名字前加#即可, 例如: ID 一列不导出, 将第一行的ID列改为#ID即可 同样的, Sheet表单上也支持#,带#开头的表单不会被导出 P.S. 不要将@Types表单加# 备注感觉不错请star, 谢谢! 开源讨论群: 527430600 知乎: http://www.zhihu.com/people/sunicdavy 提交bug及特性: https://github.com/davyxu/tabtoy/issues |
请发表评论