unity2019.4.1读取xlsx表格编辑器读取正常,发布后无法读取
读取xlsx表格
1、导入Unity读取excel表格所需要的dll文件,包括EPPlus.dll、Excel.dll、ICSharpCode.SharpZipLib.dll等。链接: dll链接.
2、代码部分
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using Excel;
using System.Data;
using OfficeOpenXml;
public class ExcelTest: MonoBehaviour
{
int columns;// 获取表格有多少列
int rows; // 获取表格有多少行
DataSet result;
private void Awake()
{
// 项目根目录下的test.xlsx文件的路径:Application.dataPath + "/test.xlsx"
//Application.dataPath + "/学生信息表.xlsx"
FileStream fileStream = File.Open(Application.streamingAssetsPath + "/题库.xlsx", FileMode.Open, FileAccess.Read);
IExcelDataReader excelDataReader = ExcelReaderFactory.CreateOpenXmlReader(fileStream);
// 表格数据全部读取到result里
result = excelDataReader.AsDataSet();
columns = result.Tables[0].Columns.Count;
rows = result.Tables[0].Rows.Count;
// 根据行列依次打印表格中的每个数据
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
// 获取表格中指定行指定列的数据
string value = result.Tables[0].Rows[i][j].ToString();
Debug.Log((i + 1) + "行" + (j + 1) + "列:" + value);
}
}
}
}
出现的问题
按上述方法unity2019.4.1版本在编辑器中运行,读取没有问题。但是发布后会读取不到文件。
解决问题
1、修改API兼容级别(不知道有没有这个原因,因为我先修改的这个,再尝试下面的步骤的)
2、导入unity安装目录下D:\Unity\Unity2019.4.1\2019.4.1f1\Editor\Data\MonoBleedingEdge\lib\mono\unityjit 文件夹下的7个dll文件,发布之后就能正常读取了。