Excel转换为Lua的配置文件

本文介绍如何使用第三方库将Excel文件转换成Lua配置文件。包括下载安装工具、配置环境及自动生成Lua文件的方法,同时提供了Lua配置文件的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Excel转换为Lua的配置文件

1.下载Excel转Lua的第三方库

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

2.准备生成Lua配置文件

  • 在跟Assets平级的目录下,新建一个Tools文件夹,然后把下载的XlsxTools文件夹放在这里
  • 然后在debug模式下编译这个解决方案
    请添加图片描述
    这个文件有几点需要注意:
  1. excel文件必须保存为.xls格式,而不是.xlsx格式

  2. 左下角的tab页签名字必须个文件名一样,并且加一个#前缀,比如我的这个CharacterTable文件,tab页签名字是#CharacterTable

  3. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值