当前位置:网站首页>Excel转换为Lua的配置文件
Excel转换为Lua的配置文件
2022-07-06 05:02:00 【帅_shuai_】
Excel转换为Lua的配置文件
1.下载Excel转Lua的第三方库
首先我们下载一个第三方开源库,来给Excel表生成lua配置文件,下载地址https://github.com/XINCGer/Unity3DTraining/tree/master/XlsxTools
2.准备生成Lua配置文件
- 在跟Assets平级的目录下,新建一个Tools文件夹,然后把下载的XlsxTools文件夹放在这里
- 然后在debug模式下编译这个解决方案
这个文件有几点需要注意:
excel文件必须保存为.xls格式,而不是.xlsx格式
左下角的tab页签名字必须个文件名一样,并且加一个#前缀,比如我的这个CharacterTable文件,tab页签名字是#CharacterTable
excel的前4行是有特殊含义的:
第1行是每个字段的名字说明
第2行是每个字段的变量类型,一般只支持int和string类型
第3行是每个字段的变量名字,这个变量名字是可以在代码中直接使用的
第4行是注释,可以详细解释这个字段的含义
还有最重要的一点:首字段必须是int型,并且变量名必须是Id
- 配置.ini文件,设置Excel读取和输出的路径
- 接下来,我们在Tools文件夹下新建一个ExcelToLua.bat文件,用来自动将Excel文件生成出对应的lua文件
cd ./XlsxTools/Xls2Lua/Xls2Lua/bin/Debug/
Xls2Lua ^
pause
双击运行即可生成Lua配置文件
3.使用Lua配置文件
- 创建ExcelMgr 来管理所有的lua配置文件
ExcelMgr = {
}
-- Excel表管理器
ExcelMgr.CacheTable = {
}
ExcelMgr.CacheTableRow = {
}
function ExcelMgr:GetTable(tableName)
local oneTable = self.CacheTable[tableName]
if oneTable ~= nil then
return oneTable
end
oneTable = require(tableName)
self.CacheTable[tableName] = oneTable
return self.CacheTable[tableName]
end
function ExcelMgr:GetRow(tableName, id)
if self.CacheTableRow[tableName] == nil then
local oneTable = self:GetTable(tableName)
self.CacheTableRow[tableName] = {
}
for _,v in ipairs(oneTable) do
self.CacheTableRow[tableName][v.Id]= v
end
end
if self.CacheTableRow[tableName] then
return self.CacheTableRow[tableName][id]
end
end
return ExcelMgr
边栏推荐
- Sliding window problem review
- [buuctf.reverse] 159_ [watevrCTF 2019]Watshell
- Three. JS learning - light and shadow (understanding)
- Bill Gates posted his 18-year-old resume and expected an annual salary of $12000 48 years ago
- Postman管理测试用例
- Selection sort
- Some common skills on unity inspector are generally used for editor extension or others
- Postman manage test cases
- 二叉树基本知识和例题
- Principle and performance analysis of lepton lossless compression
猜你喜欢
ORM aggregate query and native database operation
Postman断言
图论的扩展
Ad20 is set with through-hole direct connection copper sheet, and the bonding pad is cross connected
Class inheritance in yyds dry inventory C
Idea one key guide package
Why does MySQL need two-phase commit
MPLS experiment
Postman前置脚本-全局变量和环境变量
几种RS485隔离通讯的方案介绍
随机推荐
Excellent PM must experience these three levels of transformation!
Pagoda configuration mongodb
win10电脑系统里的视频不显示缩略图
Simple understanding of interpreters and compilers
Introduction of several RS485 isolated communication schemes
Quick sort
The kernel determines whether peripherals are attached to the I2C address
浅谈镜头滤镜的类型及作用
L'introduction en bourse de MSK Electronics a pris fin: 800 millions de RMB d'actifs de Henan étaient des actionnaires
力扣(LeetCode)186. 翻转字符串里的单词 II(2022.07.05)
二叉树基本知识和例题
A little knowledge of CPU, disk and memory
2021robocom robot developer competition (Preliminary)
Flody的应用
Sorting out the knowledge points of multicast and broadcasting
Postman关联
Codeforces Round #804 (Div. 2)
DMA use of stm32
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Raspberry pie 3.5-inch white screen display connection