unity讀取Excel

使用unity5.6的和Excel是2016版本。

新建工程,新建文件夾Plugins,然後導入兩個dll,一個是EXCEL一個system.Data。

 

 

讀取腳本如下:

using System.Collections.Generic;
using UnityEngine;
using System.Data;
using System.IO;
using Excel;
public class DoExcel {    

    public static DataSet ReadExcel(string path)
    {
        FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read);
        IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);     

        DataSet result = excelReader.AsDataSet();
        excelReader.Close();
        return result;

    }

    public static List<string> Load(string path)
    {
      
        DataSet resultds = ReadExcel(path);
        int column = resultds.Tables[0].Columns.Count;
        int row = resultds.Tables[0].Rows.Count;

        Debug.Log("總行數:" + row+"  總列數:" +column);     

        List<string> saveall = new List<string>();  

        //獲得每行的名字,並添加到數組裏
        for (int i=1;i< row; i++)
        {          
            string getnames;
            getnames = resultds.Tables[0].Rows[i][1].ToString();           
            Debug.Log("第"+i+"行:" + getnames.ToString());
            saveall.Add(getnames.ToString());

        }

        return saveall;
    }

}



只要調用上面代碼裏的Load(string path)方法就可以。

把要讀取的Excel的路徑作爲參數傳入即可。如下:

void Start()
    {

        string ak = System.Environment.CurrentDirectory;
        print(ak);
        //savename = DoExcel.Load(Application.dataPath + "\\Data\\" + "yg.xlsx");
        savename = DoExcel.Load(ak + "\\yg.xlsx");
        
        allsavedvalue = savename.Count;
    }

在當前文件目錄下存在名爲yg的Excel表格

然後運行unity即可看到數據已經讀取完成,輸出了log

-------------注意一點,yg這個Excel表格裏的第一行必須是string類型的--------如下:

如果第一行不是string會出現如下錯誤:就說類型是無法轉化的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章