• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Unity对Excel的操作使用EPPlus

武飞扬头像
SodasZ
帮助1

目录

一、导入EPPlus

1.首先在Unity中导入EPPlus和Excel

2.创建脚本,引入命名空间

二、读取Excel

1. 获取Excel信息文件

2.打开Excel文件信息,打开表格

3.需要打开此Excel的哪张表格

4.读取数据

5.输出结果

6.完整代码

三、写入Excel

1.一二步和读取一样

2.写入数据

3.写入后表格

4.完整代码

四.创建表格

1.一二步和读取一样

2.创建表格

3.创建好的表格

五、常用API

1.对表格的操作

2.处理数据

3.对Excel的操作

六、提示


一、导入EPPlus

1.首先在Unity中导入EPPlus和Excel

学新通

2.创建脚本,引入命名空间

  1.  
    using UnityEngine;
  2.  
    using UnityEditor;
  3.  
    using OfficeOpenXml;
  4.  
    using System.IO;

二、读取Excel

 学新通

- 表格数据

1. 获取Excel信息文件

  1.  
    string filePath = Application.dataPath "/目标名称.xlsx";//这里是文件路径
  2.  
     
  3.  
    //获取Excel文件的信息
  4.  
    FileInfo fileInfo = new FileInfo(filePath);

2.打开Excel文件信息,打开表格

  1.  
    //通过Excel文件信息,打开表格
  2.  
    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
  3.  
    //using是用来强行资源释放(前括号是打开,后括号是关闭)
  4.  
    {
  5.  
     
  6.  
    }

3.需要打开此Excel的哪张表格

  1.  
    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
  2.  
    {
  3.  
    //取得Excel文件中的第N张表
  4.  
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
  5.  
    }

4.读取数据

  1.  
     
  2.  
    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
  3.  
    {
  4.  
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
  5.  
    for (int i = 2; i < worksheet.Dimension.End.Row; i )
  6.  
    //End.Row获得当前表格的最大行数
  7.  
    {
  8.  
    Debug.Log("目标名称:" worksheet.Cells[i, 1].Value.ToString() " // 设备名称:" worksheet.Cells[i, 2].Value.ToString() " // 地址:" worksheet.Cells[i, 3].Value.ToString());
  9.  
    //Cells是个二维数组,第一个参数是读取第几行,第二个参数是读取第几列需要ToString出数据
  10.  
    }
  11.  
    }

5.输出结果

学新通

6.完整代码

  1.  
    using UnityEngine;
  2.  
    using UnityEditor;
  3.  
    using OfficeOpenXml;
  4.  
    using System.IO;
  5.  
     
  6.  
    /// <summary> Read文件 </summary>
  7.  
    public class ReadExcel
  8.  
    {
  9.  
     
  10.  
    [MenuItem("数据持久化/1.Excel/1.ReadExcel")]
  11.  
    public static void InputExcel()
  12.  
    {
  13.  
    string filePath = Application.dataPath "/00.Excel文件夹/Read.xlsx";
  14.  
     
  15.  
    ///获取Excel文件的信息
  16.  
    FileInfo fileInfo = new FileInfo(filePath);
  17.  
     
  18.  
    ///通过Excel文件信息,打开表格
  19.  
    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//using是用来强行资源释放(前括号是打开,后括号是关闭)
  20.  
    {
  21.  
    //取得Excel文件中的第N张表
  22.  
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
  23.  
    for (int i = 2; i < worksheet.Dimension.End.Row; i )//End.Row获得当前表格的最大行数
  24.  
    {
  25.  
    Debug.Log("目标名称:" worksheet.Cells[i, 1].Value.ToString()
  26.  
    " // 设备名称:" worksheet.Cells[i, 2].Value.ToString()
  27.  
    " // 地址:" worksheet.Cells[i, 3].Value.ToString());
  28.  
    //Cells是个二维数组,第一个参数是读取第几行,第二个参数是读取第几列需要ToString出数据
  29.  
    }
  30.  
    }
  31.  
    }
  32.  
    }
学新通

三、写入Excel

学新通

- 初始表格

1.一二步和读取一样

2.写入数据

  1.  
    ///通过Excel文件信息,打开表格
  2.  
    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//using是用来强行资源释放(前括号是打开,后括号是关闭)
  3.  
    {
  4.  
    //取得Excel文件中的第N张表
  5.  
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets["Sheet1"];
  6.  
    for (int i = 2; i <= 12; i )
  7.  
    {
  8.  
    //直接向每个表格赋值则是写入
  9.  
    worksheet.Cells[i, 1].Value = "目标名称" " " (i - 1);
  10.  
    worksheet.Cells[i, 2].Value = "设备地址" " " (i - 1);
  11.  
    worksheet.Cells[i, 3].Value = "地址" " " (i - 1);
  12.  
    }
  13.  
    excelPackage.Save();//写入后保存表格
  14.  
    }

3.写入后表格

学新通

4.完整代码

  1.  
    using UnityEngine;
  2.  
    using UnityEditor;
  3.  
    using OfficeOpenXml;
  4.  
    using System.IO;
  5.  
     
  6.  
    public class WriteExcel
  7.  
    {
  8.  
     
  9.  
    [MenuItem("数据持久化/1.Excel/2.WriteExcel")]
  10.  
    public static void ChangeExcel()
  11.  
    {
  12.  
    string filePath = Application.dataPath "/00.Excel文件夹/Write.xlsx";
  13.  
     
  14.  
    ///获取Excel文件的信息
  15.  
    FileInfo fileInfo = new FileInfo(filePath);
  16.  
     
  17.  
    ///通过Excel文件信息,打开表格
  18.  
    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//using是用来强行资源释放(前括号是打开,后括号是关闭)
  19.  
    {
  20.  
    //取得Excel文件中表格叫Sheet1的表格
  21.  
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets["Sheet1"];
  22.  
    for (int i = 2; i <= 12; i )
  23.  
    {
  24.  
    //直接向每个表格赋值则是写入
  25.  
    worksheet.Cells[i, 1].Value = "目标名称" " " (i - 1);
  26.  
    worksheet.Cells[i, 2].Value = "设备地址" " " (i - 1);
  27.  
    worksheet.Cells[i, 3].Value = "地址" " " (i - 1);
  28.  
    }
  29.  
    excelPackage.Save();//写入后保存表格
  30.  
    }
  31.  
    }
  32.  
     
  33.  
    }
学新通

四.创建表格

1.一二步和读取一样

2.创建表格

  1.  
    using UnityEngine;
  2.  
    using UnityEditor;
  3.  
    using OfficeOpenXml;
  4.  
    using System.IO;
  5.  
     
  6.  
    public class Creat
  7.  
    {
  8.  
    [MenuItem("数据持久化/1.Excel/3.CreatExcel")]
  9.  
    public static void ChangeExcel()
  10.  
    {
  11.  
    string filePath = Application.dataPath "/00.Excel文件夹/Creat.xlsx";
  12.  
     
  13.  
    ///获取Excel文件的信息(文件中没有这个文件也不会报错)
  14.  
    FileInfo fileInfo = new FileInfo(filePath);
  15.  
     
  16.  
    ///通过Excel文件信息,打开表格
  17.  
    using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))//在这里也没有创建Excel文件
  18.  
    {
  19.  
    //在新Excel文件中创建叫Sheet1的表格
  20.  
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1");
  21.  
    worksheet.Cells[1, 1].Value = "目标名称";
  22.  
    worksheet.Cells[1, 2].Value = "设备地址";
  23.  
    worksheet.Cells[1, 3].Value = "地址";
  24.  
    for (int i = 2; i <= 12; i )
  25.  
    {
  26.  
    //直接向每个表格赋值则是写入
  27.  
    worksheet.Cells[i, 1].Value = "目标名称" " " (i - 1);
  28.  
    worksheet.Cells[i, 2].Value = "设备地址" " " (i - 1);
  29.  
    worksheet.Cells[i, 3].Value = "地址" " " (i - 1);
  30.  
    }
  31.  
    excelPackage.Save();//写入后保存表格
  32.  
    }
  33.  
    //完成文件创建
  34.  
    }
  35.  
    }
学新通

3.创建好的表格

学新通


五、常用API

1.对表格的操作

  1. 通过int索引取得Excel文件中的第N张表
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1]
  2. 通过string获得Excel的表格
    ExcelWorksheet worksheet1 = excelPackage.Workbook.Worksheets["Sheet1"];
  3. 获得当前表格数目
    int i = excelPackage.Workbook.Worksheets.Count;
  4. 添加一张表格
    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet2");
  5. 给表格名称添加颜色(表头颜色换成绿色)
    worksheet.TabColor = System.Drawing.Color.ForestGreen;
    学新通

2.处理数据

  1. 获得表格中最大行和列
    int row = worksheet.Dimension.End.Row;//行
    int column = worksheet.Dimension.End.Column;//列
  2. 获得第x各格子中的内容
    worksheet.Cells[1, 1].Value.ToString();//获得[1,1]位置的内容,可以写入(写入不加ToString)也可以读取 

3.对Excel的操作

  1. 获得一个Excel文件
    ExcelPackage excelPackage = new ExcelPackage(fileInfo);
  2. 保存修改后的Excel文件
    excelPackage.Save();//保存
    excelPackage.SaveAs();//另存为


六、提示

  1. 若修改表格,记得Save执行保存表格的操作

下面的EPPlus的GitHUb:

GitHub - JanKallman/EPPlus: Create advanced Excel spreadsheets using .NETCreate advanced Excel spreadsheets using .NET. Contribute to JanKallman/EPPlus development by creating an account on GitHub.学新通https://github.com/JanKallman/EPPlus

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbihfc
系列文章
更多 icon
同类精品
更多 icon
继续加载