本文介绍: 代码如下:报错如下:这里是报空,但是每个人错误其实不一样!仔细观察,我都已经是打包到桌面C盘的东西,然后读取路径居然是D盘,说明就是路径问题!首先你可以选择改代码,换文件夹去存xlsx,但是这样不方便,因为你不止一张配置表,也就是不同的读取逻辑有很多,意味着要修改的代码复杂繁多。有没有更好的办法?当然有,

前言

代码如下: 

    //文本解析
    private void ParseText()
    {
        //打开文本  读
        FileStream stream = File.Open(Application.streamingAssetsPath + excelname, FileMode.Open, FileAccess.Read, FileShare.Read);
        //读取文件流
        IExcelDataReader excelRead = ExcelReaderFactory.CreateOpenXmlReader(stream);
        //转化为数据
        DataSet result = excelRead.AsDataSet();

        
        //获取表格行数
        int row = result.Tables[0].Rows.Count;

        //每行
        for (int i=1; i<row;i++)
        {
                //类型
                PanelType type = (PanelType)System.Enum.Parse(typeof(PanelType),result.Tables[0].Rows[i][0].ToString());
                //预制体路径并添加入字典
                PanelPathDic.Add(type, result.Tables[0].Rows[i][1].ToString());
        }

        //关闭文件
        if (stream != null)
        {
            stream.Close();
        }
    }

 报错如下:

这里是报空,但是每个人错误其实不一样!

仔细观察,我都已经是打包到桌面C盘的东西,然后读取路径居然是D盘,说明就是路径问题!

首先你可以选择改代码,换文件夹去存xlsx,但是这样不方便,因为你不止一张配置表,也就是不同的读取逻辑有很多,意味着要修改的代码复杂繁多。

有没有更好的办法?

当然有,

解决方法:

  1. 首先检查是否含有下面三个动态链接库dll,且这些文件要放在Plugins文件夹下,有些低版本可能还需要System.Data,但高版本就不需要了。
  2. 然后找到unity的安装路径,文件结构如下找到这圈起来的6个文件,同样拖到Plugins下,再次打包,问题解决!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注