Unity 编辑时 Excel表格导入方法
本文仅解决编辑时导入的问题,不解决运行时导入的问题。本文只讲方法,不包含源代码。
另外,所有数据应该只在编辑时导入,因为使用unity原生的数据格式载入效率高,在运行时载入excel数据应该避免。
目前Unity资源商店里面没有特别好的excel插件。所以建议每个公司都做一个内部的“插件”,专门用于解决这个问题。
excel表格的作用在于,当一个数据有很多行的时候,例如,角色的等级数据有99个等级的话,不方便手动填入到MonoBehaviour/ScriptableObject的数据里面。这时候有一个导入excel数据表的功能就会非常重要。
读取excel表格注意:
- 请勿使用插件FlexReader,因为FlexReader的代码充满了BUG。修复这些问题所需要的时间加起来,还不如自己写节省时间。
- 使用库ExcelDataReader读取数据,是非常方便的。
导入流程非常的简单:
- 将Excel的表格转换为Json字符串
- 使用JsonUtility转换为自定义数据类型
如下表内容:
等级 | 经验 | 攻击力 | 防御力 |
---|---|---|---|
_exp | _attack | _defense | |
1 | 200 | 1 | 2 |
2 | 300 | 2 | 3 |
3 | 400 | 3 | 4 |
注意,第一行为名称,不是数据,仅用于阅读。第二行是变量名,导入时,只有有变量名的列才导入数据,其他列忽略。可以得到如下的Json字符串:
[{"_exp":200, "_attack":1, "_defense":2},{"_exp":300, "_attack":2, "_defense":3},{"_exp":400, "_attack":3, "_defense":4}
]
其中可以观察到,这些数字在Json中已经识别是数字了,不是字符串。这里实际上可以改进,可以在表格中标记变量名以及变量类型,从而避免将原来应该是字符串的数据变成数字。
实际上,得到Json字符串,就算是导入完成了。接下来解析Json到自定义类的话,是非常简单的,使用JsonUtility就可以了。
这里再给出一个提示,就是,Excel表格可以像其他资源一样,作为一个资源类型,实现ScriptedImporter,将excel资源转换为包含json字符串的ScriptableObject资源,就可以实现将Excel表格作为通用资源在项目中使用了。
Unity 编辑时 Excel表格导入方法相关推荐
- 把EXCEL表格导入到MYSQL中_将EXCEL表格中的数据导入mysql数据库表中(两种方法)...
今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...
- php怎么在线建excel,PHP中创建和编辑Excel表格的方法
PHP中创建和编辑Excel表格的方法 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: PHP中创建和编辑Excel表格的方法.txt ] (友情提示:右键点上行 ...
- 新点软件怎么导入清单_excle表怎么导入新点,怎样把EXCEL表格导入project 中?
excel怎么将表格导入另一个表格 直接复制-粘贴其实更加. 导入有格式等的要求,软件版本也是有的. 如果你想不改变格式将一个表格的数据全部复制过来,有两种方法: 一.不打开要复制的表格,直接将这个表 ...
- excel表格导入功能
1.表格导入方法 (1)首先jsp文件中加入对应的HTML样式,并调用对应js中的方法 <em class="separ"></em><a class ...
- 关于怎么把Excel表格导入MySQL数据库中
关于怎么把Excel表格导入MySQL数据库中 第一步:建造Excel表格并且编辑数据. 1.我们要建立一个Excel表格文件 2.编辑我们需要的数据 3.保存到你知道的位置 第二步:在MySQL中建 ...
- Java EXCEL 表格导入导出(带下拉选-带VLOOKUP函数封装)
Java EXCEL 表格导入导出(带下拉选-带VLOOKUP函数封装) 对于excel Java POI 使用 目前简单导出导入功能网上很多,但是对于有下拉选,样式等缺点却是最大硬伤,故此封装一个通 ...
- 怎样将excel表格导入天正_怎样把excel表格转换成cad读取
在cad设计,为了工作效率,图纸的明细表都会在EXCEL中做好,然后直接导入到哦CAD中使用.那该如何去导入到cad中去呢?下面小编就介绍三种方法. excel表格转换成cad的方法一 1.单击工具栏 ...
- 清华大学赵志磊--基于thinkPHP6框架的Excel表格导入和导出
1.Excel表格导出 先上大图:(可放大查看,当作壁纸再好不过,超高清壁纸) 正题: 首先.thinkPHP6框架内在admin应用下,自定义文件夹,存放公共类,里面封装公共方法. 命名空间写好,记 ...
- iview upload组件手动控制上传,excel表格导入
iview upload组件手动控制上传,这里我只需要将文件的file传给后端用来做excel表格的导入,所以用不到upload-success回调,也用不到action (iview 有提供exce ...
最新文章
- ecshop的商品列表输出中多出一条空记录
- ios ionic3 跳转第三方地图 xcode加入白名单
- 第2章 Python 数字图像处理(DIP) --数字图像基础3 - 图像内插 - 最近邻内插 - 双线性插值 - 双三次内插 - 图像放大
- js基础之---slice()
- PHP Opcache(ZendOptimizerPlus)的安装配置详解
- java编程创建警告_java – 无法阻止ant生成编译器Sun专有API警告
- 数据库(SQL)学习——基础篇一:初识数据库
- 修改tomcat版本号解决eclipse中tomcat版本不对应
- cad计算机忘了保存,cad图纸没保存怎么恢复(电脑突然断电,怎么找回未保存的CAD?)...
- 微信点餐外卖源码小程序开发
- 信度spss怎么做_SPSS进行问卷量表信度检验(详细操作过程及结果分析)
- 现在PayPal还可以怎样提现???账户只有91刀!
- jQuery练习t188,从0到1
- 两套系统同个服务器,同一服务器运行两套workerman程序有什么需要特别修改的吗...
- 求索NoSQL的现在与未来,第五届 Techo TVP 开发者峰会圆满落幕
- 从现在开始,格外珍惜时间,让生活充实起来
- 手机删掉的照片怎么恢复
- 在html中加入一个动态图,图片上加gif图片 图片某个角落贴个gif动态图,如何在静态图片上面加一张GIF动态图...
- 视频(音频)播放组件——西瓜播放器
- 条形码识别Matlab版本