您当前的位置: 首页 >  ar

程序员正茂

暂无认证

  • 3浏览

    0关注

    283博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity使用ExcelDataReader读取Excel

程序员正茂 发布时间:2020-12-08 10:56:56 ,浏览量:3

因为项目中需要用到Unity3d读取Excel,网上找的资料,大多是Excel.dll +ICSharpCode.SharpZipLib这种解决方案。但是读取xlsx(2019版)总是报错。后面想到了一种更简便的方法。

1.通过NuGet下载并安装ExcelDataReader.dll、ExcelDataReader.DataSet.dll。

随便建个C#.net工程,比如新建一个控制台应用(.NET Framework)。

选择菜单【工具】【NuGet包管理器】【管理解决方案的NuGet程序包...】

在【浏览】中输入Excel,即可找到ExcelDataReader、ExcelDataReader.DataSet,点击【安装】

在解决方案中查看dll所在位置

打开两个dll所有文件夹,可以看到net20、net45等多版本dll,注意选择与unity3d的.net版本匹配,我这里使用net45版本。

2.Unity3d读取Excel

新建Unity3d工程(我这里用的2018.4.14),

创建Plugins文件夹,并将两个dll复制到Plugins下(经测试在unity2017下还需要添加System.Data.dll)

新建脚本Test.cs,并附加到Camera上,代码如下

using ExcelDataReader;
using System.IO;
using UnityEngine;

public class Test : MonoBehaviour
{
        void Start()
    {
        using (var stream = File.Open(@"C:\Users\wslng\Documents\测试表格.xlsx", FileMode.Open, FileAccess.Read))
        {
            using (var reader = ExcelReaderFactory.CreateReader(stream))
            {
                var result = reader.AsDataSet();
                if (result.Tables.Count > 0)
                {
                    for (int i = 0; i < result.Tables[0].Rows.Count; i++)
                    {
                        Debug.Log(result.Tables[0].Rows[i][0].ToString());
                        Debug.Log(result.Tables[0].Rows[i][1].ToString());
                    }
                }
            }
        }
    }
}

运行结果

关注
打赏
1660743125
查看更多评论
立即登录/注册

微信扫码登录

0.0501s