1.导入EPPlus.dll、Excel.dll、Mysql.Data.dll、System.Data.dll;(我这里用的是:Unity2017.3.0)
2.代码如下:
using System.Data;
using System.IO;
using UnityEngine;
using OfficeOpenXml;
using UnityEditor;
using Excel;
public class ExcelManager : MonoBehaviour
{
#region 创建Excel表格
[MenuItem("Excel操作/创建Excel表格")]
static void 创建Excel表格()
{
string _filePath = Application.streamingAssetsPath + "/学生信息.xlsx";
string _sheetName = "详情";
FileInfo _excelName = new FileInfo(_filePath);
if (_excelName.Exists)
{
//删除旧文件,并创建一个新的 excel 文件。
_excelName.Delete();
_excelName = new FileInfo(_filePath);
}
//通过ExcelPackage打开文件
using (ExcelPackage package = new ExcelPackage(_excelName))
{
//在 excel 空文件添加新 sheet,并设置名称。
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(_sheetName);
//添加列名
worksheet.Cells[1, 1].Value = "学号";
worksheet.Cells[1, 2].Value = "姓名";
worksheet.Cells[1, 3].Value = "性别";
//添加一行数据
worksheet.Cells[2, 1].Value = 100001;
worksheet.Cells[2, 2].Value = "张三";
worksheet.Cells[2, 3].Value = "男";
//添加一行数据
worksheet.Cells[3, 1].Value = 100002;
worksheet.Cells[3, 2].Value = "李四";
worksheet.Cells[3, 3].Value = "女";
//添加一行数据
worksheet.Cells[4, 1].Value = 120033;
worksheet.Cells[4, 2].Value = "Saw";
worksheet.Cells[4, 3].Value = "男";
//保存excel
package.Save();
}
}
#endregion
#region 读取Excel表格
[MenuItem("Excel操作/读取Excel表格")]
static void 读取Excel表格()
{
DataRowCollection _dataRowCollection = ReadExcel(Application.streamingAssetsPath + "/学生信息.xlsx");
for (int i = 0; i < _dataRowCollection.Count; i++)
{
Debug.Log(_dataRowCollection[i][0] + " " + _dataRowCollection[i][1] + " " + _dataRowCollection[i][2]);
}
}
//通过表的索引,返回一个DataRowCollection表数据对象
static DataRowCollection ReadExcel(string _path, int _sheetIndex = 0)
{
FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
DataSet result = excelReader.AsDataSet();
return result.Tables[_sheetIndex].Rows;
}
//通过表的名字,返回一个DataRowCollection表数据对象
private DataRowCollection ReadExcel(string _path, string _sheetName)
{
FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
DataSet result = excelReader.AsDataSet();
return result.Tables[_sheetName].Rows;
}
#endregion
#region 改写Excel表格
[MenuItem("Excel操作/改写Excel表格")]
static void 改写Excel表格()
{
string path = Application.streamingAssetsPath + "/学生信息.xlsx";
FileInfo _excelName = new FileInfo(path);
using (ExcelPackage package = new ExcelPackage(_excelName))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets["详情"];
//修改某一行的数据
worksheet.Cells[4, 3].Value = "人妖";
//保存excel
package.Save();
}
}
#endregion
}
dll资源文件夹:https://download.csdn.net/download/qq_41603955/90677810