
👨💻个人主页:@元宇宙-秩沅
👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 秩沅 原创
| 👨💻 专栏交流 | 🧧 | 
|---|---|
| 🟥Unity100个实战基础✨ | 🎁 | 
| 🟦 Unity100个精华一记✨ | 🎁 | 
| 🟩 Unity50个demo案例教程✨ | 🎁 | 
| 🟨 Unity100个精华细节BUG✨ | 🎁 | 


文章目录
- ⭐前言⭐
 - 🎶Unity中使用Ecxel
 - Excel的使用基础
 - Excel的实践
 - 编写脚本ExcelTool(读取Excel数据生成数据结构、容器、二进制文件)
 
- ⭐🅰️系统路线学习点击跳转⭐
 
⭐前言⭐
🎶Unity中使用Ecxel
- 导入官方提供的Excel相关DLL文件,在Editor文件夹下

 
Excel的使用基础
- 1.打开Excel表
 
主要知识点:
1.FileStream读取文件流
2.IExcelDataReader类,从流中读取Excel数据
3.DataSet 数据集合类 将Excel数据转存进其中方便读取
 [MenuItem("GameTool/打开Excel表")]
 private static void OpenExcel()
 {
     using (FileStream fs = File.Open(Application.dataPath + "/文件夹/Excel表明.xlsx", FileMode.Open, FileAccess.Read ))
     {
         //通过我们的文件流获取Excel数据
         IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(fs);
         //将excel表中的数据转换为DataSet数据类型 方便我们 获取其中的内容
         DataSet result = excelReader.AsDataSet();
         //得到Excel文件中的所有表信息
         for (int i = 0; i < result.Tables.Count; i++)
         {
             Debug.Log("表名:" + result.Tables[i].TableName);
             Debug.Log("行数:" + result.Tables[i].Rows.Count);
             Debug.Log("列数:" + result.Tables[i].Columns.Count);
         }
         fs.Close();
     }
 }
 
- 2.获取Excel表中单元格的信息
 
主要知识点:
1.FileStream读取文件流
2.IExcelDataReader类,从流中读取Excel数据
3.DataSet 数据集合类 将Excel数据转存进其中方便读取
4.DataTable 数据表类 表示Excel文件中的一个表
5.DataRow 数据行类 表示某张表中的一行数据
[MenuItem("GameTool/读取Excel里的具体信息")]
 private static void ReadExcel()
 {
     using (FileStream fs = File.Open(Application.dataPath + "/文件夹/Excel表明.xlsx", FileMode.Open, FileAccess.Read))
     {
         IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(fs);
         DataSet result = excelReader.AsDataSet();
         for (int i = 0; i < result.Tables.Count; i++)
         {
             //得到其中一张表的具体数据
             DataTable table = result.Tables[i];
             //得到其中一行的数据
             //DataRow row = table.Rows[0];
             //得到行中某一列的信息
             //Debug.Log(row[1].ToString());
             DataRow row;
             for (int j = 0; j < table.Rows.Count; j++)
             {
                 //得到每一行的信息
                 row = table.Rows[j];
                 Debug.Log("*********新的一行************");
                 for (int k = 0; k < table.Columns.Count; k++)
                 {
                     Debug.Log(row[k].ToString());
                 }
             }
         }
         fs.Close();
     }
 }
 
我们可以根据表中数据来动态的生成相关数据
 1.数据结构类
 2.容器类
 3.二进制数据
 作用:
1.提升读取效率
2.提升数据安全性
 
Excel的实践
- 1.自定义Excel表的规则
第一行:字段
第二行:数据类型
第三行:主键
第四行:注释
之后:数据
(可用字典的形式存储<key,数据容器>)

 - 我们想通过Ecxel表中的内容生成数据结构,生成容器脚本,如何实现呢
见下文 
编写脚本ExcelTool(读取Excel数据生成数据结构、容器、二进制文件)
————————后续内容私信交流——————————————

⭐🅰️系统路线学习点击跳转⭐
| 👨💻 Unity程序基础学习路线 | 🧧 | 
|---|---|
| ⭐【Unityc#专题篇】之c#进阶篇】 | 🎁 | 
| ⭐【Unityc#专题篇】之c#核心篇】 | 🎁 | 
| ⭐【Unityc#专题篇】之c#基础篇】 | 🎁 | 
| ⭐【Unity-c#专题篇】之c#入门篇】 | 🎁 | 
| ⭐【Unityc#专题篇】—进阶章题单实践练习 | 🎁 | 
| ⭐【Unityc#专题篇】—基础章题单实践练习 | 🎁 | 
| ⭐【Unityc#专题篇】—核心章题单实践练习 | 🎁 | 
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!、




















