unity能否直接读取excel
时间: 2023-07-07 13:28:43 浏览: 131
是的,Unity 可以直接读取 Excel 文件。下面介绍两种方法:
1. 使用 ExcelDataReader
ExcelDataReader 是一个开源的 .NET 库,可以读取 Excel 文件。要使用 ExcelDataReader,需要先安装该库。可以通过 NuGet 包管理器安装,或者直接从 GitHub 下载源代码并手动导入到 Unity 项目中。
以下是一个简单的示例代码,演示如何使用 ExcelDataReader 读取 Excel 文件:
```csharp
using System.IO;
using ExcelDataReader;
public void ReadExcelFile(string filePath)
{
using (FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream);
// 获取工作表数量
int sheetCount = reader.ResultsCount;
for (int i = 0; i < sheetCount; i++)
{
// 选择工作表
reader.ChangeSheet(i);
// 获取行数和列数
int rowCount = reader.RowCount;
int columnCount = reader.FieldCount;
// 读取数据
for (int j = 0; j < rowCount; j++)
{
for (int k = 0; k < columnCount; k++)
{
Debug.Log(reader.GetValue(j, k));
}
}
}
}
}
```
在上面的示例中,我们首先打开 Excel 文件,然后使用 ExcelDataReader 读取文件。接下来,我们循环遍历每个工作表,获取行数和列数,然后读取数据并输出到控制台。
2. 使用 NPOI
NPOI 是另一个开源的 .NET 库,可以读取和写入 Excel 文件。要使用 NPOI,需要先安装该库。可以通过 NuGet 包管理器安装,或者直接从 GitHub 下载源代码并手动导入到 Unity 项目中。
以下是一个简单的示例代码,演示如何使用 NPOI 读取 Excel 文件:
```csharp
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
public void ReadExcelFile(string filePath)
{
// 打开 Excel 文件
using (FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
// 创建工作簿
IWorkbook workbook = new XSSFWorkbook(stream);
// 获取工作表数量
int sheetCount = workbook.NumberOfSheets;
// 遍历工作表
for (int i = 0; i < sheetCount; i++)
{
// 获取工作表
ISheet sheet = workbook.GetSheetAt(i);
// 获取行数和列数
int rowCount = sheet.LastRowNum + 1;
int columnCount = sheet.GetRow(0).LastCellNum;
// 读取数据
for (int j = 0; j < rowCount; j++)
{
IRow row = sheet.GetRow(j);
for (int k = 0; k < columnCount; k++)
{
ICell cell = row.GetCell(k);
Debug.Log(cell.ToString());
}
}
}
}
}
```
在上面的示例中,我们首先打开 Excel 文件,然后使用 NPOI 创建工作簿。接下来,我们循环遍历每个工作表,获取行数和列数,然后读取数据并输出到控制台。
需要注意的是,使用 ExcelDataReader 和 NPOI 都需要安装相应的库,并且在读取 Excel 文件时需要指定文件路径。在实际使用中,还需要根据实际情况进行错误处理和数据转换。
阅读全文