Unity对Excel的操作使用EPPlus
目录
一、导入EPPlus
1.首先在Unity中导入EPPlus和Excel
2.创建脚本,引入命名空间
-
using UnityEngine;
-
using UnityEditor;
-
using OfficeOpenXml;
-
using System.IO;
二、读取Excel
- 表格数据
1. 获取Excel信息文件
-
string filePath = Application.dataPath "/目标名称.xlsx";//这里是文件路径
-
-
//获取Excel文件的信息
-
FileInfo fileInfo = new FileInfo(filePath);
2.打开Excel文件信息,打开表格
-
//通过Excel文件信息,打开表格
-
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
-
//using是用来强行资源释放(前括号是打开,后括号是关闭)
-
{
-
-
}
3.需要打开此Excel的哪张表格
-
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
-
{
-
//取得Excel文件中的第N张表
-
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
-
}
4.读取数据
-
-
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
-
{
-
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
-
for (int i = 2; i < worksheet.Dimension.End.Row; i )
-
//End.Row获得当前表格的最大行数
-
{
-
Debug.Log("目标名称:" worksheet.Cells[i, 1].Value.ToString() " // 设备名称:" worksheet.Cells[i, 2].Value.ToString() " // 地址:" worksheet.Cells[i, 3].Value.ToString());
-
//Cells是个二维数组,第一个参数是读取第几行,第二个参数是读取第几列需要ToString出数据
-
}
-
}
5.输出结果
6.完整代码
-
using UnityEngine;
-
using UnityEditor;
-
using OfficeOpenXml;
-
using System.IO;
-
-
/// <summary> Read文件 </summary>
-
public class ReadExcel
-
{
-
-
[]
-
public static void InputExcel()
-
{
-
string filePath = Application.dataPath "/00.Excel文件夹/Read.xlsx";
-
-
///获取Excel文件的信息
-
FileInfo fileInfo = new FileInfo(filePath);
-
-
///通过Excel文件信息,打开表格
-
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//using是用来强行资源释放(前括号是打开,后括号是关闭)
-
{
-
//取得Excel文件中的第N张表
-
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
-
for (int i = 2; i < worksheet.Dimension.End.Row; i )//End.Row获得当前表格的最大行数
-
{
-
Debug.Log("目标名称:" worksheet.Cells[i, 1].Value.ToString()
-
" // 设备名称:" worksheet.Cells[i, 2].Value.ToString()
-
" // 地址:" worksheet.Cells[i, 3].Value.ToString());
-
//Cells是个二维数组,第一个参数是读取第几行,第二个参数是读取第几列需要ToString出数据
-
}
-
}
-
}
-
}
三、写入Excel
- 初始表格
1.一二步和读取一样
2.写入数据
-
///通过Excel文件信息,打开表格
-
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//using是用来强行资源释放(前括号是打开,后括号是关闭)
-
{
-
//取得Excel文件中的第N张表
-
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets["Sheet1"];
-
for (int i = 2; i <= 12; i )
-
{
-
//直接向每个表格赋值则是写入
-
worksheet.Cells[i, 1].Value = "目标名称" " " (i - 1);
-
worksheet.Cells[i, 2].Value = "设备地址" " " (i - 1);
-
worksheet.Cells[i, 3].Value = "地址" " " (i - 1);
-
}
-
excelPackage.Save();//写入后保存表格
-
}
3.写入后表格
4.完整代码
-
using UnityEngine;
-
using UnityEditor;
-
using OfficeOpenXml;
-
using System.IO;
-
-
public class WriteExcel
-
{
-
-
[]
-
public static void ChangeExcel()
-
{
-
string filePath = Application.dataPath "/00.Excel文件夹/Write.xlsx";
-
-
///获取Excel文件的信息
-
FileInfo fileInfo = new FileInfo(filePath);
-
-
///通过Excel文件信息,打开表格
-
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//using是用来强行资源释放(前括号是打开,后括号是关闭)
-
{
-
//取得Excel文件中表格叫Sheet1的表格
-
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets["Sheet1"];
-
for (int i = 2; i <= 12; i )
-
{
-
//直接向每个表格赋值则是写入
-
worksheet.Cells[i, 1].Value = "目标名称" " " (i - 1);
-
worksheet.Cells[i, 2].Value = "设备地址" " " (i - 1);
-
worksheet.Cells[i, 3].Value = "地址" " " (i - 1);
-
}
-
excelPackage.Save();//写入后保存表格
-
}
-
}
-
-
}
四.创建表格
1.一二步和读取一样
2.创建表格
-
using UnityEngine;
-
using UnityEditor;
-
using OfficeOpenXml;
-
using System.IO;
-
-
public class Creat
-
{
-
[]
-
public static void ChangeExcel()
-
{
-
string filePath = Application.dataPath "/00.Excel文件夹/Creat.xlsx";
-
-
///获取Excel文件的信息(文件中没有这个文件也不会报错)
-
FileInfo fileInfo = new FileInfo(filePath);
-
-
///通过Excel文件信息,打开表格
-
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//在这里也没有创建Excel文件
-
{
-
//在新Excel文件中创建叫Sheet1的表格
-
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1");
-
worksheet.Cells[1, 1].Value = "目标名称";
-
worksheet.Cells[1, 2].Value = "设备地址";
-
worksheet.Cells[1, 3].Value = "地址";
-
for (int i = 2; i <= 12; i )
-
{
-
//直接向每个表格赋值则是写入
-
worksheet.Cells[i, 1].Value = "目标名称" " " (i - 1);
-
worksheet.Cells[i, 2].Value = "设备地址" " " (i - 1);
-
worksheet.Cells[i, 3].Value = "地址" " " (i - 1);
-
}
-
excelPackage.Save();//写入后保存表格
-
}
-
//完成文件创建
-
}
-
}
3.创建好的表格
五、常用API
1.对表格的操作
- 通过int索引取得Excel文件中的第N张表
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1]- 通过string获得Excel的表格
ExcelWorksheet worksheet1 = excelPackage.Workbook.Worksheets["Sheet1"];- 获得当前表格数目
int i = excelPackage.Workbook.Worksheets.Count;- 添加一张表格
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet2");- 给表格名称添加颜色(表头颜色换成绿色)
worksheet.TabColor = System.Drawing.Color.ForestGreen;
2.处理数据
- 获得表格中最大行和列
int row = worksheet.Dimension.End.Row;//行
int column = worksheet.Dimension.End.Column;//列- 获得第x各格子中的内容
worksheet.Cells[1, 1].Value.ToString();//获得[1,1]位置的内容,可以写入(写入不加ToString)也可以读取
3.对Excel的操作
- 获得一个Excel文件
ExcelPackage excelPackage = new ExcelPackage(fileInfo);- 保存修改后的Excel文件
excelPackage.Save();//保存
excelPackage.SaveAs();//另存为
六、提示
- 若修改表格,记得Save执行保存表格的操作
下面的EPPlus的GitHUb:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbihfc
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01