unity3d读取Excel小白教程

2023-11-15

1.课前准备准备三个文件,Excel.dll, ICSharpCode.SharpZipLib.dll, System.Data.dll,

如图:

下载地址:链接:https://pan.baidu.com/s/1B2Sue9iw4qWzwjb1uJ6bPQ
提取码:vkxk

2.在unity3d里边建Plugins文件夹并将三个文件拖入,如下图:

3.建立一个空物体建立脚本,ReadExcel.cs,代码如下:

using UnityEngine;
using System.IO;
using Excel;
using System.Data;

public class ReadExcel : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        //1.打开文件,创建一个文件流操作对象
        FileStream fileStream = new FileStream(Application.streamingAssetsPath+"/"+ "人物.xlsx", FileMode.Open,FileAccess.Read);

        //2.创建一个excel读取类
        IExcelDataReader reader = ExcelReaderFactory.CreateOpenXmlReader(fileStream);

        //方法1:读取
        while (reader.Read())
        {
            string name = reader.GetString(0);
            string birth = reader.GetString(1);
            string brief = reader.GetString(2);
            Debug.Log("姓名:" + name + " --- " + "生卒:" + birth + " --- " + "简介:" + brief);
        }


        //方法2:读取
        //DataSet result = reader.AsDataSet();
        //获取行数
        //int rows = result.Tables[0].Rows.Count;

        //获取列数
        //int column = result.Tables[0].Columns.Count;

        //for (int i = 0; i < rows; i++)
        //{
        //    获取i行的第一列数据
        //    string name = result.Tables[0].Rows[i][0].ToString();
        //    获取i行的第二列数据
        //    string birth = result.Tables[0].Rows[i][1].ToString();
        //    获取i行的第三列数据
        //    string brief = result.Tables[0].Rows[i][2].ToString();
        //    Debug.Log("姓名:" + name + " --- " + "生卒:" + birth + " --- " + "简介:" + brief);
        //}
    }

}

 4.两种方法运行结果如下:

 5.提一下第二种方法,excel文档格式必须是.xlsx

6.注意,如果你的unity3d版本是2019.4及以上,需要在Plugins下添加一下来文件,不然打包exe中读取不到数据

 

7.上面文件可在unity3d对应版本安装包得到D:\Program Files\Unity2019_4\Editor\Data\MonoBleedingEdge\lib\mono\unity

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity3d读取Excel小白教程 的相关文章

  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new

随机推荐

  • c++实现霍夫曼编码

    c 实现霍夫曼编码 计算信源的熵 平均码长 编码效率 冗余度与压缩比 考虑到指针可能对新手不太友好 这里用的是vector容器 用法类似数组 可以动态扩容 存储树形结构 大致原理就是n号结点的左右子树分别是2n和2n 1号结点 Huffma
  • XMPP客户端库Smack 4.1.4版官方开发文档之五

    本文转载自 博客主页 http blog csdn net chszs 五 名单Roster和在线状态Presence 名单可以让你跟踪其他用户是否在线 而且名单可以让你把用户组织到群组 比如朋友群或工作群 而其它的即时通信IM系统则把名单
  • 7个高频出现的面试题

    收集了2022年所有学生的面试题后 我整理出了7个高频出现的面试题 一起来看看 高频问题1 请自我介绍下 高频问题2 请介绍下最近做过的项目 高频问题3 请介绍下你印象深刻的bug 高频问题4 Fiddler工具怎么使用的 高频问题5 说一
  • 判断是否为数字的两种办法

    今天在写angular的ts中碰到一个问题 就是需要判断用户id是否是number类型还是uuid 在这里我采用了两种办法 1 使用typeof 判断是什么类型 if typeof res userInfo id number alert
  • sar 命令

    NAME sar Collect report or save system activity information SYNOPSIS sar A b B C d h i interval m p q r R S t u ALL v V
  • 2.2 SSD之地址映射

    LBA Logical Block Address 表示用户操作 读写 数据的位置 PBA Physics Block Address 表示数据在硬盘的真实位置 在HDD时代 数据可以覆盖写 LBA和PBA直接对应不会更改 但是SSD时代
  • leetcode-453. 最小操作次数使数组元素相等-js

    题目 代码 关键 每次操作使 n 1 个元素增加 1 相当于使1个元素减小 1 所以算出每个元素减小到最小元素的次数即可 var minMoves function nums const minNum Math min nums retur
  • BootStrap-table 复选框默认选中(checkbox)

    BootStrap table 复选框默认选中 checkbox bootstrap table colums 写法 var columns field checked checkbox true formatter stateFormat
  • 基于深度学习的人脸识别综述

    本文转载自 https xraft github io 2018 03 21 FaceRecognition 作者 Caleb Ge 葛政 如有侵权请告知删除 下文中的 我 均为原文作者 另附有查找的其他参考链接 论文介绍方面链接 1 ht
  • 第三章-Python中的数据类型

    欢迎来到python的世界 博客主页 卿云阁 欢迎关注 点赞 收藏 留言 本文由卿云阁原创 本阶段属于练气阶段 希望各位仙友顺利完成突破 首发时间 2021年3月14日 希望可以和大家一起完成进阶之路 作者水平很有限 如果发现错误 请留言轰
  • ubuntu下编译问题集锦

    1 DSO missing from command line 一般是库链接顺序不对 将依赖于其他库的lib放在前面 库放在后面就行 2 fatal error ceres ceres h No such file or directory
  • CTF中那些脑洞大开的编码和加密

    0x00 前言 正文开始之前先闲扯几句吧 玩CTF的小伙伴也许会遇到类似这样的问题 表哥 你知道这是什么加密吗 其实CTF中脑洞密码题 非现代加密方式 一般都是各种古典密码的变形 一般出题者会对密文进行一些处理 但是会给留一些线索 所以写此
  • vant使用时覆盖默认样式

    在我们使用vant的时候 有时候一些组件的默认样式并不能满足我们项目的需求 这个时候我们可以使用下面的办法 覆盖掉默认样式 亲测有效 vant覆盖默认样式的写法 v deep van cell not last child after le
  • transform的scale属性实现对大屏的适配

    最近公司做的大屏用到了transform的scale属性来对大屏网页 进行缩放 缺点 需要给项目大屏 设定固定的宽高 当使用的屏幕分辨率和项目不一致时 会出现左右或者上下的留白 如果设计稿是1920 1080的尺寸 项目中用px来写宽高的话
  • QT 自学内容 day06 文件的打开,读取,写入,输出内容的时候编码方式的修改,文件的创建日期,和最后的修改时间

    1 打开文件 头文件 include
  • 在图像间进行特征匹配

    特征匹配 目标 我们将要学习在图像间进行特征匹配 使用 OpenCV 中的蛮力 Brute Force 匹配和 FLANN 匹配 Brute Force 匹配的基础 蛮力匹配器是很简单的 首先在第一幅图像中选取一个关键点然后依次与第二幅图像
  • python自(2)切片 字典 遍历删除添加修改查询定义函数函数返回值作用域序列化异常报错urllib使用一个类型六个方法下载 视频音频图片

    切片 切片 s hello word 下标索引为0的 print s 0 h 左闭右开 左是下标开始的 右是几个索引值 例如从0开始算 4个索引值 print s 0 4 hell 更改起始值的开始位置 print s 1 ello wor
  • 产品经理的思考-概括

    思考 断断续续从技术转产品已经两年时间 从2021年的按部就班 到2022年的兵荒马乱 从技术到产品会有优势 但也有自身的枷锁 如何发挥优势 跳出枷锁 是一个不断思考和突破的过程 比较转岗会有蜜月期 但是漫长的痛苦才是现实 从技术到产品是需
  • 再谈Qt实现Rasdial拨号问题(说说项目中遇到的问题和解决方案)

    上一篇 Qt实现Rasdial宽带拨号 讲解了下最简单的宽带拨号方式 但是在实际项目开发中 发现 这种做法是不好的 效率低 有时拨号失败 而且上一回 我们是采用异步拨号来实现 这个做法是不行的 我们需要实现同步拨号 那么我们应该借助api函
  • unity3d读取Excel小白教程

    1 课前准备准备三个文件 Excel dll ICSharpCode SharpZipLib dll System Data dll 如图 下载地址 链接 https pan baidu com s 1B2Sue9iw4qWzwjb1uJ6