Unity 利用EPPlus插件实现对Excel的读取与写入

  • 时间:
  • 浏览:
  • 来源:互联网

插件地址:插件中有三个,只使用EPPlus即可
链接:https://pan.baidu.com/s/19gJc4jFT-rVZ5vFQTkSakg
提取码:f416
下载完插件后,直接导入项目即可

学习之前有三点注意事项:
1.1个Excel文件中,有n张表格;1张表格中,有n个单元格。
2.在EPPlus中,Excel文件叫做“ExcelPackage”,表格叫做“ExcelWorkSheet”,单元格叫做“Cell”。
3.在EPPlus中,索引都是从1开始的(表的索引,行列的索引都是从1开始)。

读取Excel中的内容
读取Excel的时候要注意,如果单元格内容为空,会读取报错,暂时还不知道怎么解决

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OfficeOpenXml;//注意:引入OfficeOpenXml才能使用EPPlus
using System.IO;//引入后使用FileInfo

/// <summary>
/// 读取Excel
/// </summary>
public class Test : MonoBehaviour
{
	//Excel的地址
	const string filePath = "E:/Excel/Excel.xlsx";

	void Start()
	{
		ReadExcel();
	}
	void ReadExcel()
	{
		//获取Excel文件的信息
		FileInfo fileInfo = new FileInfo(filePath);
		//通过Excel表格的文件信息,打开Excel表格
		//使用using(){}语句命令,在结束时自动关闭文件
		using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
		{
			//读取Excel中的第一张表, 注意EPPlus的索引值是从1开始的
			ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
			//取得第一行第一列的数据
			string s = worksheet.Cells[1, 1].Value.ToString();
			for (int i = 1; i < 4; i++)
			{
				for (int j = 1; j < 4; j++)
				{
					Debug.Log(worksheet.Cells[i, j].Value.ToString());
				}
			}
		}
	}
}

向Excel中写入数据

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OfficeOpenXml;
using System.IO;


public class WriteExcel : MonoBehaviour
{
	const string filePath = "E:/Excel/Excel.xlsx";

	void Start()
	{
		WriteToExcel();
	}

	void WriteToExcel()
	{
		FileInfo fileInfo = new FileInfo(filePath);

		//通过Excel文件的信息,打开Excel文件
		using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
		{
			//获取我们要写入到哪一张表
			ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
			//往第4行第1列写入数据
			worksheet.Cells[4, 1].Value = "3";
			//修改完数据记得保存
			excelPackage.Save();
		}
	}
}

本文链接http://www.dzjqx.cn/news/show-617408.html