Unity3D中Excel表的读取与写入
2020-12-13 02:08
标签:-- add sha ring ziplib star 循环 value 解析 废话不多说,对 Excel 表的操作少不了要引入第三方库,首先我们需要引入 Excel.dll 和 ICSharpCode.SharpZipLib.dll,这两个类库在网上都能找到;然后我们还需要引入 System.Data.dll,这个类库在 Unity3D 的安装路径下的 Editor\Data\Mono\lib\mono\unity 文件夹下能找到。 代码如下: 运行效果如下: 这里需要注意的是,根据 Excel 表的版本不同,使用的方法也不一致,我在代码中也有注释,大家看一下就行。还有就是 Sheet ,在读取的时候,我们可以根据索引去读取,也可以根据名称去读取,我也写了重载方法。 如果这样写,发布后运行,也许会报错,这时我们就又需要引入第三方库了,去 Unity3D 安装路径下的Editor\Data\Mono\lib\mono\unity,找到所有 I18N 开头的类库导入Unity中,就不会报错了,如下图: Excel 表的读取功能解决了,那我们如何生成一张 Excel 表,并写入数据呢?这时我们需要导入一个叫 EPPlus.dll 的类库,网上也有,大家可以自己下载。 代码如下: 运行效果图如下: Excel 表的读写操作大致就是这样的。但是我不建议,大家直接读取 Excel 表,因为 Excel 表 包含太多的格式信息,最好是将 Excel 表另存为纯文本的 CSV 文件再去读取,关于 CSV 文件的读取,网上有一大堆,有时间我自己也写一篇。 Unity3D中Excel表的读取与写入 标签:-- add sha ring ziplib star 循环 value 解析 原文地址:https://www.cnblogs.com/xiaoyulong/p/11026079.html 1 using Excel;
2 using System.Data;
3 using System.IO;
4 using UnityEngine;
5
6 public class Test : MonoBehaviour
7 {
8 #region -- 变量定义
9
10 #endregion
11
12 #region -- 系统函数
13 private void Start()
14 {
15 DataRowCollection _dataRowCollection = ReadExcel(Application.streamingAssetsPath + "/学生信息.xlsx");
16 //这里从 1 开始循环,因为第一行被表头占据了。所以具体解析数据的时候需要根据具体情况来定。
17 for (int i = 1; i )
18 {
19 Debug.Log("学号:" + _dataRowCollection[i][0] + "--" + "姓名:" + _dataRowCollection[i][1] + "--" + "年龄:" + _dataRowCollection[i][2]);
20 }
21 }
22 #endregion
23
24 #region -- 自定义函数
25 ///
1 private void Start()
2 {
3 string _filePath = Application.streamingAssetsPath + "/学生信息2.xlsx";
4 string _sheetName = "详情";
5
6 FileInfo _excelName = new FileInfo(_filePath);
7 if (_excelName.Exists)
8 {
9 //删除旧文件,并创建一个新的 excel 文件。
10 _excelName.Delete();
11 _excelName = new FileInfo(_filePath);
12 }
13
14 //通过ExcelPackage打开文件
15 using (ExcelPackage package = new ExcelPackage(_excelName))
16 {
17 //在 excel 空文件添加新 sheet,并设置名称。
18 ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(_sheetName);
19
20 //添加列名
21 worksheet.Cells[1, 1].Value = "学号";
22 worksheet.Cells[1, 2].Value = "姓名";
23 worksheet.Cells[1, 3].Value = "性别";
24
25 //添加一行数据
26 worksheet.Cells[2, 1].Value = 100001;
27 worksheet.Cells[2, 2].Value = "张三";
28 worksheet.Cells[2, 3].Value = "男";
29
30 //添加一行数据
31 worksheet.Cells[3, 1].Value = 100002;
32 worksheet.Cells[3, 2].Value = "Hammer";
33 worksheet.Cells[3, 3].Value = "女";
34
35 //添加一行数据
36 worksheet.Cells[4, 1].Value = 120033;
37 worksheet.Cells[4, 2].Value = "Saw";
38 worksheet.Cells[4, 3].Value = "男";
39
40 //保存excel
41 package.Save();
42 }
43 }
上一篇:NPAPI脚本化接口