本文仅解决编辑时导入的问题,不解决运行时导入的问题。本文只讲方法,不包含源代码。

另外,所有数据应该只在编辑时导入,因为使用unity原生的数据格式载入效率高,在运行时载入excel数据应该避免。

目前Unity资源商店里面没有特别好的excel插件。所以建议每个公司都做一个内部的“插件”,专门用于解决这个问题。

excel表格的作用在于,当一个数据有很多行的时候,例如,角色的等级数据有99个等级的话,不方便手动填入到MonoBehaviour/ScriptableObject的数据里面。这时候有一个导入excel数据表的功能就会非常重要。

读取excel表格注意:

  1. 请勿使用插件FlexReader,因为FlexReader的代码充满了BUG。修复这些问题所需要的时间加起来,还不如自己写节省时间。
  2. 使用库ExcelDataReader读取数据,是非常方便的。

导入流程非常的简单:

  1. 将Excel的表格转换为Json字符串
  2. 使用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表格导入方法相关推荐

  1. 把EXCEL表格导入到MYSQL中_将EXCEL表格中的数据导入mysql数据库表中(两种方法)...

    今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命上网查阅方法,发现以下两种方法比较可行: 在此之前先说说按照网上的说法我没有试验成功的方法,将excel文件xls保 ...

  2. php怎么在线建excel,PHP中创建和编辑Excel表格的方法

    PHP中创建和编辑Excel表格的方法 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  PHP中创建和编辑Excel表格的方法.txt ] (友情提示:右键点上行 ...

  3. 新点软件怎么导入清单_excle表怎么导入新点,怎样把EXCEL表格导入project 中?

    excel怎么将表格导入另一个表格 直接复制-粘贴其实更加. 导入有格式等的要求,软件版本也是有的. 如果你想不改变格式将一个表格的数据全部复制过来,有两种方法: 一.不打开要复制的表格,直接将这个表 ...

  4. excel表格导入功能

    1.表格导入方法 (1)首先jsp文件中加入对应的HTML样式,并调用对应js中的方法 <em class="separ"></em><a class ...

  5. 关于怎么把Excel表格导入MySQL数据库中

    关于怎么把Excel表格导入MySQL数据库中 第一步:建造Excel表格并且编辑数据. 1.我们要建立一个Excel表格文件 2.编辑我们需要的数据 3.保存到你知道的位置 第二步:在MySQL中建 ...

  6. Java EXCEL 表格导入导出(带下拉选-带VLOOKUP函数封装)

    Java EXCEL 表格导入导出(带下拉选-带VLOOKUP函数封装) 对于excel Java POI 使用 目前简单导出导入功能网上很多,但是对于有下拉选,样式等缺点却是最大硬伤,故此封装一个通 ...

  7. 怎样将excel表格导入天正_怎样把excel表格转换成cad读取

    在cad设计,为了工作效率,图纸的明细表都会在EXCEL中做好,然后直接导入到哦CAD中使用.那该如何去导入到cad中去呢?下面小编就介绍三种方法. excel表格转换成cad的方法一 1.单击工具栏 ...

  8. 清华大学赵志磊--基于thinkPHP6框架的Excel表格导入和导出

    1.Excel表格导出 先上大图:(可放大查看,当作壁纸再好不过,超高清壁纸) 正题: 首先.thinkPHP6框架内在admin应用下,自定义文件夹,存放公共类,里面封装公共方法. 命名空间写好,记 ...

  9. iview upload组件手动控制上传,excel表格导入

    iview upload组件手动控制上传,这里我只需要将文件的file传给后端用来做excel表格的导入,所以用不到upload-success回调,也用不到action (iview 有提供exce ...

最新文章

  1. ecshop的商品列表输出中多出一条空记录
  2. ios ionic3 跳转第三方地图 xcode加入白名单
  3. 第2章 Python 数字图像处理(DIP) --数字图像基础3 - 图像内插 - 最近邻内插 - 双线性插值 - 双三次内插 - 图像放大
  4. js基础之---slice()
  5. PHP Opcache(ZendOptimizerPlus)的安装配置详解
  6. java编程创建警告_java – 无法阻止ant生成编译器Sun专有API警告
  7. 数据库(SQL)学习——基础篇一:初识数据库
  8. 修改tomcat版本号解决eclipse中tomcat版本不对应
  9. cad计算机忘了保存,cad图纸没保存怎么恢复(电脑突然断电,怎么找回未保存的CAD?)...
  10. 微信点餐外卖源码小程序开发
  11. 信度spss怎么做_SPSS进行问卷量表信度检验(详细操作过程及结果分析)
  12. 现在PayPal还可以怎样提现???账户只有91刀!
  13. jQuery练习t188,从0到1
  14. 两套系统同个服务器,同一服务器运行两套workerman程序有什么需要特别修改的吗...
  15. 求索NoSQL的现在与未来,第五届 Techo TVP 开发者峰会圆满落幕
  16. 从现在开始,格外珍惜时间,让生活充实起来
  17. 手机删掉的照片怎么恢复
  18. 在html中加入一个动态图,图片上加gif图片 图片某个角落贴个gif动态图,如何在静态图片上面加一张GIF动态图...
  19. 视频(音频)播放组件——西瓜播放器
  20. 条形码识别Matlab版本

热门文章

  1. 【CareerCup】 Linked Lists—Q2.5
  2. 基于LSTM实现乐器声音音频识别
  3. 显示服务器人数已满,明日之后服务器人数已满怎么办 排队解决方法
  4. 做一个迷你播放器放在桌面
  5. 西北工业大学计算机学院教授张凯龙,张凯龙
  6. 小米应用开发者文档(标注需要注意的地方)
  7. ffmpeg截取一段视频
  8. Buffon投针(近似计算π)
  9. 每日一词: 战略 2022.3.30
  10. CSDN勤写标兵勋章获取方法