当前位置: 首页 > news >正文

【Unity数据交互】如何Unity中读取Ecxel中的数据

在这里插入图片描述


👨‍💻个人主页:@元宇宙-秩沅

👨‍💻 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#专题篇】—核心章题单实践练习🎁

你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!


在这里插入图片描述


http://www.lryc.cn/news/393679.html

相关文章:

  • 基于深度学习LightWeight的人体姿态检测跌倒系统源码
  • SpringBoot 生产实践:没有父 starter 的打包问题
  • IDEA配Git
  • 51单片机STC89C52RC——14.1 直流电机调速
  • AI对于高考和IT行业的深远影响
  • C语言下的文件详解
  • Oracle PL / SQL块结构
  • MySQL的安装和启动
  • Prometheus概述
  • 【SQL】什么是最左前缀原则/最左匹配原则
  • java项目配置logback日志
  • Python入门 2024/7/6
  • ChatGPT4深度解析:探索智能对话新境界
  • 触底加载的两种思路(以vue3前端和nodejs后端为例)
  • tobias实现支付宝支付
  • 【音视频 | RTSP】RTSP协议详解 及 抓包例子解析(详细而不赘述)
  • SQL Server 2022 中的 Tempdb 性能改进非常显著
  • C++ Lambda表达式第二篇, Lambda表达式
  • Linux系统的介绍和常用命令
  • IDEA安装IDE Eval Reset插件,30天自动续期,无限激活
  • 【C++】初步认识C++
  • 【Python数据分析与可视化】:使用【Matplotlib】实现销售数据的全面分析 ——【Matplotlib】数模学习
  • Docker加速器配置指南:提升镜像下载速度的秘诀 加速安装Mysql Redis ES
  • 32单片机,C语言与汇编联合编译的几种方式
  • 基于GWO-CNN-BiLSTM数据回归预测(多输入单输出)-灰狼优化算法优化CNN-BiLSTM
  • 自动控制:反馈控制
  • sqlite 数据库 介绍
  • 【机器学习】机器学习重塑广告营销:精准触达,高效转化的未来之路
  • 常见的Java运行时异常
  • CANoe的capl调用Qt制作的dll