您的位置:首页 > 移动开发 > Unity3D

在unity中读取Excel的xlsx格式文件

2017-09-11 14:42 543 查看
      遇到了需要读表格的需求,因为之前操作读取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 这个路径下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: