在unity中讀取Excel的xlsx格式檔案
阿新 • • 發佈:2019-02-13
遇到了需要讀表格的需求,因為之前操作讀取csv檔案比較熟悉,本來也想把表格轉成csv格式讀取,但是實際操作過程中發現,表格中的內容是有逗號的,一整段文本里都有沒有任何規律的逗號,而讀csv檔案格子間是用逗號分隔的,所以用這個方法會把一個格子裡有逗號的文字分成幾個部分,這不是我期望的。所以我查了下用unity直接讀取xlsx表格的方法。在這兒記錄下來。
其中需要注意的是這個需要引用using UnityEngine; using System.Collections; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.IO; using Excel; using System.Data; public class ReadExcel:MonoBehaviour { public string ExcelPathName; void Start() { GameReadExcel(ExcelPathName); } /// <summary> /// 只讀Excel方法 /// </summary> /// <param name="ExcelPath"></param> /// <returns></returns> public static void GameReadExcel(string ExcelPath) { FileStream stream = File.Open(Application.dataPath + ExcelPath, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); DataSet result = excelReader.AsDataSet(); int columns = result.Tables[0].Columns.Count;//獲取列數 int rows = result.Tables[0].Rows.Count;//獲取行數 //從第二行開始讀 for (int i = 1; i < rows; i++) { for (int j = 0; j < columns; j++) { string nvalue = result.Tables[0].Rows[i][j].ToString(); Debug.Log(nvalue); } } } }
這幾個封裝好的dll,前面倆的官網下載地址:http://exceldatareader.codeplex.com/
system.data.dll的路徑在unity安裝路徑下的Editor\Data\Mono\lib\mono\unity 這個路徑下