首先我们下载一个第三方开源库,来给Excel表生成lua配置文件,下载地址https://github.com/XINCGer/Unity3DTraining/tree/master/XlsxTools

excel文件必须保存为.xls格式,而不是.xlsx格式
左下角的tab页签名字必须个文件名一样,并且加一个#前缀,比如我的这个CharacterTable文件,tab页签名字是#CharacterTable
excel的前4行是有特殊含义的:
第1行是每个字段的名字说明
第2行是每个字段的变量类型,一般只支持int和string类型
第3行是每个字段的变量名字,这个变量名字是可以在代码中直接使用的
第4行是注释,可以详细解释这个字段的含义

还有最重要的一点:首字段必须是int型,并且变量名必须是Id
cd ./XlsxTools/Xls2Lua/Xls2Lua/bin/Debug/
Xls2Lua ^
pause
双击运行即可生成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