在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 这个路径下
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 这个路径下
相关文章推荐
- 使用POI读取xlsx文件,包含对excel中自定义时间格式的处理
- Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- PHPExcel 读取Excel以xlsx格式的文件
- Java 实现导出excel表 POI/Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- 使用POI读取XLSX文件,包含对EXCEL中自定义时间格式的处理--包含自己解决和修改jeeplus的源码的
- Asp.Net读取excel文件的时候 出错提示:外部表不是预期的格式 解决方案
- ABAP读取Excel文件,转成对应格式内表
- Unity Excel 文件读取和写入
- 解决:R读取含中文excel文件,read.xlsx乱码问题
- java读取Excel的方法,解析xls、xlsx两种格式
- php excel 读取日期问题 在 php excel 读取 xls 格式的文件时,xls 上面显示的是正常的日期格式 但是读取出来的话,就会是一个万位整形数据,这显然不是我们想要的日
- Asp.Net读取excel文件的时候 出错提示:外部表不是预期的格式
- 读取excel文件,支持doc ,docx格式 附带上传方法
- NPOI 1.2.4 是否可以读取 excel2007的xlsx格式文件
- 用xlsx包读取Excel文件
- java读取两种格式(xls、xlsx)的Excel
- C# conn.open() 外部表不是预期的格式( 读取EXCEL文件出错)
- asp读取excel .xls格式文件
- java 读取excel,写入excel(只限于xlsx格式)
- java处理excel-xlsx格式大文件的解决方案