Unity数据持久化 之 使用Excel.DLL读写Excel表格
本文仅作笔记学习和分享,不用做任何商业用途
本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正
终于找到一个比较方便容易读表的方式了,以前用json读写excel转的cvs格式文件我怎么使用怎么别扭,觉得太繁琐了
1.Excel.Dll

Excel.dll 是一个库文件,通常用于在C#等编程语言中处理Excel文件。它并不是一个插件,(但是需要放再unity创建的Plugins文件里,不然可能读不出来命名空间)而是一个动态链接库(DLL),提供了读取和写入Excel文件的功能
2.基本读表流程如下
Excel----->文件流------>ExcelDataReader----->DataSet
为什么要ExcelDataReader这一步?是因为要数据要先读到内存来再操作,而Excel.Dll作为一个动态链接库并不能通过(DataSet)直接对文件流的内容读取
相当于ExcelDataReader是Excel.Dll的第一步
而Excel----->文件流是unity的第一步,都是必不可少的
//1.打开指定路径的Excel文件,并将其存储在文件流中
using (FileStream fs = File.Open((Application.dataPath + "/Excel/PlayerInfo.xlsx"), FileMode.Open, FileAccess.Read))
{// 2.使用ExcelDataReader库中的方法读取文件流中的Excel文件IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(fs);// 3.将读取到的Excel数据转换为DataSet类型,便于后续处理DataSet dataSet = excelReader.AsDataSet();
3.获取单元格内容
之后就只需要通过控制 DataSet这个对象操作数据
//表中数据操作相关://获取表DataTable dataTable = dataSet.Tables[0];//获取表中的行DataRow dataRow = dataTable.Rows[0];//获取行中的列//dataRow[0];
图解上述代码

可以思考一下如何通过一个简单的数据结构得到全部单元格内容
相关文章:
Unity数据持久化 之 使用Excel.DLL读写Excel表格
本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 终于找到一个比较方便容易读表的方式了,以前用json读写excel转的cvs格式文件我怎么使用怎么别扭…...
Linux系统:chown命令
1、命令详解: chown命令用于设置文件所有者和文件关联组的命令,全称为change directory。在Linux当中默认文件均有拥有者,可以利用 chown 将指定文件的拥有者改为指定的用户或组,输入参数时用户可以是用户名或者用户 ID࿰…...
Unity3D ARPG(动作角色扮演游戏)设计与实现详解
动作角色扮演游戏(Action Role-Playing Game, ARPG)结合了传统角色扮演游戏(RPG)的深度与动作游戏(Action Game)的即时反应和流畅战斗体验。Unity3D 作为一款强大的跨平台游戏开发引擎,为开发者…...
Qt实现登录界面
本文基于Qt实现一个简单的登录界面,主要使用到Widget、button、edit等控件,基于自定义的信号槽实现界面的跳转,使用绘图设备添加背景图等。 1. 创建主界面 设计主界面的样式,并添加相关的控件。如下显示: 代码如下&…...
big.LITTLE
big.LITTLE 1 多核异构调度算法 http://www.linaro.org/?sbig.LITTLE http://git.linaro.org https://wiki.linaro.org/Archived%20LSK%20Versions big.LITTLE CPUs can be configured in 2 modes of operation: IKS – In Kernel Switcher (also known as CPU Migration…...
汤臣倍健,三七互娱,得物,顺丰,快手,游卡,oppo,康冠科技,途游游戏,埃科光电25秋招内推
汤臣倍健,三七互娱,得物,顺丰,快手,游卡,oppo,康冠科技,途游游戏,埃科光电25秋招内推 ①得物 【八大职类】技术、供应链、产品、运营、设计、职能、商品研究、风控等大类…...
再谈c++模板
前言 在前面我们曾经简单的介绍过c的模板,但还并不全面,我们通过stl容器的学习加深了我们对c这门语言的理解。那么今天我们就再来谈一谈c模板,对模板再进行一点简单的补充 非类型模板参数 前面我们介绍的是类型模板参数,简单理…...
9.11 codeforces Div 2
文章目录 9.11 Div 2A. Doras Set(删除三个互质数)思路代码 B. Index and Maximum Value(范围加减1求max)思路代码 C. Dora and C(加a/b,最小化极差)思路代码 9.11 Div 2 Dashboard - Codeforces Round 969 (Div. 2) …...
二级菜单的两种思路(完成部分)
第一种 <el-form ref"formRef" :model"form" :rules"rules" label-width"120px"><el-form-item label"类型" prop"type"><el-select v-model"form.type" placeholder"请选择类型&q…...
【机器学习导引】ch2-模型评估与选择
文章目录 经验误差与过拟合 (Empirical error &overfitting)1. **均方误差(Mean Squared Error, MSE)**2. **均方根误差(Root Mean Squared Error, RMSE)**3. **平均绝对误差(Mean Absolute…...
二开ihoneyBakFileScan备份扫描
优点:可以扫描根据域名生成的扫描备份的扫描工具 二开部分:默认网址到字典(容易被封),二开字典到网址(类似test404备份扫描规则),同时把被封不能扫描的网址保存到waf_url.txt 中&am…...
leetcode21. 合并两个有序链表
思路: 用一个新链表来表示合并后的有序链表, 每次比较两个链表,将较小的那个结点存储至新链表中 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, val0, nextNone): # self.val val # …...
搭建 WordPress 及常见问题与解决办法
浪浪云活动链接 :https://langlangy.cn/?i8afa52 文章目录 环境准备安装 LAMP 堆栈 (Linux, Apache, MySQL, PHP)配置 MySQL 数据库 安装 WordPress配置 WordPress常见问题及解决办法数据库连接错误白屏问题插件或主题冲突内存限制错误 本文旨在介绍如何在服务器上…...
《ORANGE‘s 一个操作系统的实现》--保护模式进阶
保护模式进阶 大内存读写 GDT段 ;GDT [SECTION .gdt] ; 段基址, 段界限 , 属性 LABEL_GDT: Descriptor 0, 0, 0 ; 空描述符 LABEL_DESC_NORMAL: Descriptor 0, 0ffffh, DA_DRW ; Normal 描…...
【可变参模板】可变参类模板
可变参类模板也和可变参函数模板一样,允许模板定义含有0到多个(任意个)模板参数。可变参类模板参数包的展开方式有多种,以下介绍几种常见的方法。 一、递归继承展开 1.1类型模板参数包的展开 首先先看下面的代码: /…...
Linux 递归删除大量的文件
一般情况下 在 Ubuntu 中,递归删除大量文件和文件夹可以通过以下几种方式快速完成。常用的方法是使用 rm 命令,配合一些适当的选项来提高删除速度和效率。 1. 使用 rm 命令递归删除 最常见的方式是使用 rm 命令的递归选项 -r 来删除目录及其所有内容。…...
设计一个算法,找出由str1和str2所指向两个链表共同后缀的起始位置
假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,’loading’和’being’的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为 data…...
Python中如何判断一个变量是否为None
在Python中,判断一个变量是否为None是一个常见的需求,特别是在处理可选值、默认值或者是在函数返回结果可能不存在时。虽然这个操作本身相对简单,但围绕它的讨论可以扩展到Python的哲学、类型系统、以及如何在不同场景下优雅地处理None值。 …...
表观遗传系列1:DNA 甲基化以及组蛋白修饰
1. 表观遗传 表观遗传信息很多为化学修饰,包括 DNA 甲基化以及组蛋白修饰,即DNA或蛋白可以通过化学修饰添加附加信息。 DNA位于染色质(可视为微环境)中,并不是裸露的,因此DNA分子研究需要跟所处环境结合起…...
Android 跳转至各大应用商店应用详情页
测试通过机型品牌: 华为、小米、红米、OPPO、一加、Realme、VIVO、IQOO、荣耀、魅族、三星 import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import …...
NW.js 保姆级教程来了!零基础也能开发桌面应用(2026 最新版)
一句话总结:用你熟悉的 HTML CSS JavaScript,直接打包成 Windows / macOS / Linux 桌面程序——这就是 NW.js 的魔力! 一、NW.js 到底是什么?别再和 Electron 搞混了! 如果你会前端开发,但一直以为“做桌…...
ETS5保姆级教程:从零配置KNX智能开关,实现灯光、窗帘、场景联动
ETS5保姆级教程:从零配置KNX智能开关,实现灯光、窗帘、场景联动 KNX作为智能家居领域的国际标准协议,以其稳定性和灵活性备受推崇。而ETS5则是配置KNX系统的核心工具,掌握它意味着你能够自由定制属于自己的智能家居方案。本教程将…...
刚刚!美团开源LongCat-Next,全模态模型保姆级教程(非常详细),从入门到精通,建议收藏!
昨天下午刷到了美团龙猫团队又开源了一个新模型-LongCat-Next。 这次有所不同,是一个原生全模态模型,可以接受文本、语音、图像的输入,生成文本、语音、图像,激活参数3B。 在训练上,通过分词器-反分词器对࿰…...
3分钟实现Figma中文界面:设计师的本地化解决方案
3分钟实现Figma中文界面:设计师的本地化解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN FigmaCN是一款专为中文设计师打造的浏览器插件,通过3800条人工校…...
使用Dify快速搭建CasRel模型应用:无需编码的AI工作流
使用Dify快速搭建CasRel模型应用:无需编码的AI工作流 你是不是也遇到过这样的场景?手里有一堆非结构化的文本数据,比如产品说明书、新闻稿或者客服对话记录,想从中自动找出“谁对谁做了什么”这类关系信息。传统方法要么需要写复…...
SEO 每天需要做内容优化吗
<h2>SEO 每天需要做内容优化吗?</h2> <p>在当今数字化时代,搜索引擎优化(SEO)已经成为每一个网站和品牌在争夺在线流量和曝光度时不可或缺的工具。面对SEO的复杂性,许多人常常会疑惑:SEO…...
水墨江南模型软件测试实践:生成结果的稳定性与一致性验证
水墨江南模型软件测试实践:生成结果的稳定性与一致性验证 最近在项目里用上了水墨江南这个AI绘画模型,效果确实惊艳,那种烟雨朦胧、小桥流水的意境拿捏得很准。但问题也来了,当我们想把它集成到产品里,给用户稳定提供…...
从手忙脚乱到从容不迫:DouyinLiveRecorder如何用智能代理池解决多平台直播录制难题
从手忙脚乱到从容不迫:DouyinLiveRecorder如何用智能代理池解决多平台直播录制难题 【免费下载链接】DouyinLiveRecorder 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveRecorder 你是否曾经为了录制不同平台的直播内容而疲于奔命?当抖…...
RevokeMsgPatcher:突破微信消息限制的高效管理工具
RevokeMsgPatcher:突破微信消息限制的高效管理工具 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/G…...
告别重复劳动:用快马AI自动生成akshare数据清洗与分析流水线
告别重复劳动:用快马AI自动生成akshare数据清洗与分析流水线 金融数据分析中,数据获取和清洗往往是最耗时的环节。每次研究新标的,我们都要重复编写类似的代码:从不同接口获取数据、对齐时间轴、处理缺失值、计算技术指标……这些…...
