996引擎ReadExcel脚本教程 - Excel表格数据读取与报错调试
摘要:本文详解996引擎ReadExcel读取表格脚本完整用法,包含命令格式、参数、三阶实操案例,梳理路径格式要求,针对读取为空乱码给出修复方案,方便脚本学习者调试。…
ReadExcel读取表格脚本是996引擎内置表格读取命令,主要用于读取Excel表格内数据并赋值全局变量,仅供单机本地学习调试、用于版本技术研究与功能测试。
很多零基础脚本学习者处理表格数据时,不清楚文件路径、行号计数规则,经常出现读不到内容、变量为空等问题,掌握这条命令可以直接实现表格数据调用,降低脚本数据维护难度。

命令原理
ReadExcel属于996引擎文件操作类命令,作用为加载指定xls表格文件,读取指定整行全部单元格内容,自动把每一列数据存入$GLOBAL(Excel列号)全局变量。
列下标从0开始,读取完成之后,本行所有数据可在脚本内直接调用,仅支持xls格式表格,不支持xlsx格式。
命令格式
ReadExcel 表格路径 行号
实操示例
#IF
#ACT
ReadExcel ..\QuestDiary\996m2.xls 1
SENDMSG 0 -<$GLOBAL(Excel0)>-<$GLOBAL(Excel1)>-<$GLOBAL(Excel2)>
命令详解
| 参数 | 参数释义 | 实操用法 |
|---|---|---|
| 表格路径 | xls表格存放相对路径 | 脚本目录以..\QuestDiary\为基准,表格放置QuestDiary文件夹内,仅支持xls,xlsx无法识别 |
| 行号 | 需要读取的表格行数 | 行号从1开始计数,1代表表格第一行表头,2代表第一行业务数据,不要填0 |
| Excel0 | 读取行第0列单元格全局变量 | 获取读取行第一个单元格内容,调用格式$GLOBAL(Excel0) |
| Excel1 | 读取行第1列单元格全局变量 | 获取读取行第二个单元格内容,调用格式$GLOBAL(Excel1) |
| ExcelN | 读取行第N列单元格全局变量 | 根据表格实际列数依次向后顺延调用 |
拓展案例
初级入门案例(零基础套用)
读取表格第1行第2列单元格,控制台打印对应单元格内容,适合新手测试表格路径是否正确。
[@读取表格第1行第2列]
#IF
#ACT
ReadExcel ..\QuestDiary\996m2.xls 1
SENDMSG 0 -<$GLOBAL(Excel1)>
中级优化案例(功能升级调试)
读取表格第3行全部列数据,变量不为空再发送提示消息,规避空单元格输出乱符号。
[@读取表格第三行全部列]
#IF
#ACT
ReadExcel ..\QuestDiary\996m2.xls 3
#IF NOT $GLOBAL(Excel0) = ""
#ACT
SENDMSG 0 第一列:<$GLOBAL(Excel0)> 第二列:<$GLOBAL(Excel1)> 第三列:<$GLOBAL(Excel2)>
高阶定制案例(自定义玩法修改)
NPC点击触发读取表格,拿到表格数据做条件判断,实现表格配置驱动脚本逻辑。
[@main]
#ACT
ReadExcel ..\QuestDiary\config.xls 2
#IF $GLOBAL(Excel0) = 开启
#ACT
SENDMSG 6 当前功能:<$GLOBAL(Excel1)>
#ELSEACT
SENDMSG 6 该功能未开启
全网稀缺实操细节:ReadExcel每次执行会覆盖旧Excel全局变量,多次读取表格需要即时使用变量,禁止跨脚本段延迟调用;表格保存必须另存为Excel97‑2003(*.xls)格式。
实操步骤
将Excel表格另存为
996m2.xls,格式选择xls,不要保存xlsx。把xls复制到版本目录
QuestDiary文件夹内部。在NPC脚本或者任务脚本写入ReadExcel命令,填写正确相对路径与目标行号。
使用
$GLOBAL(Excel列号)调用读取出来的数据,列号从0开始。保存脚本,重载Quest脚本,点击NPC触发脚本查看消息输出。
如果输出为空,优先核对表格、存放路径、行号数字。
避坑指南
仅支持xls格式,xlsx新版表格读取返回空变量,属于引擎底层限制。
行号从1开始,列号变量从0开始,两者计数规则不一样。
ReadExcel执行之后,旧Excel全局变量直接被覆盖,读取完成立刻使用变量。
表格不要存在合并单元格,合并单元格会造成读取数据错乱。
文件路径分隔符必须使用反斜杠
\,禁止写正斜杠/。表格编辑完成关闭Excel软件,文件被占用会读取失败。
报错修复
问题:SENDMSG输出全部为空,拿不到单元格数据
核心成因:表格格式错误、路径错误、Excel占用文件、行号填写错误
分步排查步骤
- 确认表格后缀为xls,重新另存为Excel97‑2003格式。
- 确认xls存放在QuestDiary目录,核对脚本路径。
- 完全关闭Excel程序释放文件占用。
- 核对行号,表格第一行填写行号1,禁止填0。
完整落地修复
另存xls格式,放入QuestDiary目录,关闭Excel,重载脚本重新测试。
问题:读取部分单元格出现乱码
核心成因:存在合并单元格、单元格包含换行特殊符号
分步排查步骤
- 打开xls取消全部单元格合并。
- 清除单元格换行、不可见特殊符号。
完整落地修复
取消单元格合并,清理特殊符号,保存表格重载脚本。
FAQ
ReadExcel可以读取xlsx文件吗?
不可以,996引擎ReadExcel仅支持xls格式,需要另存为Excel97‑2003 xls文件。
ReadExcel行号从0还是从1开始?
行号参数从1开始;Excel列号变量从0开始,二者计数规则不同。
多次调用ReadExcel变量会保留旧数据吗?
不会,每次执行直接覆盖Excel全局变量,读取完成要立刻使用数据。
表格放在QuestDiary子文件夹路径怎么写?
示例:ReadExcel ..\QuestDiary\config\data.xls 2,子目录用反斜杠分隔。
路径格式都正确读取依旧为空是什么原因?
Excel打开表格没有关闭会占用文件,关闭Excel重载脚本即可。
ReadExcel怎么循环读取表格全部行?
原生命令没有循环,需要搭配计数变量循环调用ReadExcel逐行读取。
Excel全局变量可以跨NPC脚本使用吗?
属于全局变量,读取后全脚本环境可用,再次执行ReadExcel就会被覆盖。
全文总结
ReadExcel读取表格脚本是996引擎实用文件读取命令,指定表格路径、行号读取xls整行数据,存入Excel系列全局变量供脚本调用。
适合本地版本学习调试,外置配置减少脚本硬编码;实操重点区分行号列号计数差异,注意xls格式限制,规避文件占用、合并单元格问题,重载脚本即可完成调试。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。













