这段代码用于读取表格
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OfficeOpenXml;
using System.IO;
using UnityEngine.Networking;
using UnityEngine.UI;
using Random = UnityEngine.Random;
public class Plots : MonoBehaviour
{
public static string ReadingExcel;//正在读取的表格
[Header("表格文件夹")] public static string URL = Application.streamingAssetsPath;
public static string PlotsEXCEL = "Plots";
private static bool m_loaded;
public class plot
{
public string index, CN,NameCN, NameEN,EN,NameJP, JP,Face;
}
public static List<plot> S_Plots= new List<plot>();
public virtual void OnEnable()
{
initialization();
}
//初始化
public void initialization()
{
if (!m_loaded)
{
LoadExcel();
m_loaded = true;
}
}
void LoadExcel()
{
//获取Excel文件的信息
foreach (var VARIABLE in ReadFile())
{
Debug.Log("剧情挂载成功");
FileInfo fileInfo = new FileInfo(VARIABLE);
//加载背包信息
if (VARIABLE.Contains(PlotsEXCEL))
{
//通过Excel表格的文件信息,打开Excel表格
//使用using(){}语句命令,在结束时自动关闭文件
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
{
//读取Excel中的第一张表, 注意EPPlus的索引值是从1开始的
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
//取得第一行第一列的数据
// Debug.Log("行数"+worksheet.Dimension.End.Row + 1);
for (int Left = 2; Left < worksheet.Dimension.End.Row + 1; Left++) //根据行数遍历
{
if (worksheet.Cells[Left, 1].Value.ToString().Length>0)
{
plot Plot = new plot();
Plot.index= worksheet.Cells[Left, 1].Value.ToString();
Plot.Face= worksheet.Cells[Left, 2].Value.ToString();
Plot.CN= worksheet.Cells[Left, 3].Value.ToString();
Plot.NameCN= worksheet.Cells[Left, 4].Value.ToString();
Plot.EN= worksheet.Cells[Left, 5].Value.ToString();
Plot.NameEN= worksheet.Cells[Left, 6].Value.ToString();
Plot.JP= worksheet.Cells[Left, 7].Value.ToString();
Plot.NameJP= worksheet.Cells[Left, 8].Value.ToString();
S_Plots.Add(Plot);
}
}
}
}
}
}
/// <summary>
/// 字符串转Enum
/// </summary>
/// <typeparam name="T">枚举</typeparam>
/// <param name="str">字符串</param>
/// <returns>转换的枚举</returns>
public static T ToEnum<T>(string str)
{
try
{
return (T)Enum.Parse(typeof(T), str);
}
catch (ArgumentException e)
{
Debug.LogError("未找到系列"+str);
throw;
}
}
static List<string> ReadFile()
{
List<string> files = GetFiles(URL, "*.xlsx");
List<string> GetFiles(string directory, string pattern)
{
List<string> files = new List<string>();
foreach (var item in Directory.GetFiles(directory, pattern))
{
files.Add(item);