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

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格式文件我怎么使用怎么别扭&#xf…...

Linux系统:chown命令

1、命令详解: chown命令用于设置文件所有者和文件关联组的命令,全称为change directory。在Linux当中默认文件均有拥有者,可以利用 chown 将指定文件的拥有者改为指定的用户或组,输入参数时用户可以是用户名或者用户 ID&#xff0…...

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-模型评估与选择

文章目录 经验误差与过拟合 &#xff08;Empirical error &overfitting&#xff09;1. **均方误差&#xff08;Mean Squared Error, MSE&#xff09;**2. **均方根误差&#xff08;Root Mean Squared Error, RMSE&#xff09;**3. **平均绝对误差&#xff08;Mean Absolute…...

二开ihoneyBakFileScan备份扫描

优点&#xff1a;可以扫描根据域名生成的扫描备份的扫描工具 二开部分&#xff1a;默认网址到字典&#xff08;容易被封&#xff09;&#xff0c;二开字典到网址&#xff08;类似test404备份扫描规则&#xff09;&#xff0c;同时把被封不能扫描的网址保存到waf_url.txt 中&am…...

leetcode21. 合并两个有序链表

思路&#xff1a; 用一个新链表来表示合并后的有序链表&#xff0c; 每次比较两个链表&#xff0c;将较小的那个结点存储至新链表中 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, val0, nextNone): # self.val val # …...

搭建 WordPress 及常见问题与解决办法

浪浪云活动链接 &#xff1a;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 描…...

【可变参模板】可变参类模板

可变参类模板也和可变参函数模板一样&#xff0c;允许模板定义含有0到多个&#xff08;任意个&#xff09;模板参数。可变参类模板参数包的展开方式有多种&#xff0c;以下介绍几种常见的方法。 一、递归继承展开 1.1类型模板参数包的展开 首先先看下面的代码&#xff1a; /…...

Linux 递归删除大量的文件

一般情况下 在 Ubuntu 中&#xff0c;递归删除大量文件和文件夹可以通过以下几种方式快速完成。常用的方法是使用 rm 命令&#xff0c;配合一些适当的选项来提高删除速度和效率。 1. 使用 rm 命令递归删除 最常见的方式是使用 rm 命令的递归选项 -r 来删除目录及其所有内容。…...

设计一个算法,找出由str1和str2所指向两个链表共同后缀的起始位置

假定采用带头结点的单链表保存单词&#xff0c;当两个单词有相同的后缀时&#xff0c;则可共享相同的后缀存储空间&#xff0c;例如&#xff0c;’loading’和’being’的存储映像如下图所示。 设str1和str2分别指向两个单词所在单链表的头结点&#xff0c;链表结点结构为 data…...

Python中如何判断一个变量是否为None

在Python中&#xff0c;判断一个变量是否为None是一个常见的需求&#xff0c;特别是在处理可选值、默认值或者是在函数返回结果可能不存在时。虽然这个操作本身相对简单&#xff0c;但围绕它的讨论可以扩展到Python的哲学、类型系统、以及如何在不同场景下优雅地处理None值。 …...

表观遗传系列1:DNA 甲基化以及组蛋白修饰

1. 表观遗传 表观遗传信息很多为化学修饰&#xff0c;包括 DNA 甲基化以及组蛋白修饰&#xff0c;即DNA或蛋白可以通过化学修饰添加附加信息。 DNA位于染色质&#xff08;可视为微环境&#xff09;中&#xff0c;并不是裸露的&#xff0c;因此DNA分子研究需要跟所处环境结合起…...

Android 跳转至各大应用商店应用详情页

测试通过机型品牌&#xff1a; 华为、小米、红米、OPPO、一加、Realme、VIVO、IQOO、荣耀、魅族、三星 import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import …...

taotoken token plan套餐在ubuntu长期开发中的成本控制感受

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken Token Plan 套餐在 Ubuntu 长期开发中的成本控制感受 在 Ubuntu 环境下进行 AI 应用的原型开发与长期迭代&#xff0c;模…...

为什么MIT化学系要求博士生必学NotebookLM?——解密其在NMR谱图关联推理与副产物预测中的3个未公开API调用逻辑

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM化学研究辅助 NotebookLM 是 Google 推出的基于 AI 的研究协作者&#xff0c;专为深度阅读、知识整合与推理设计。在化学研究场景中&#xff0c;它能高效解析 PDF 格式的文献&#xff08;如 …...

终极指南:如何在Windows电脑上实现AirPlay 2无线投屏功能

终极指南&#xff1a;如何在Windows电脑上实现AirPlay 2无线投屏功能 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 还在为Windows电脑无法接收iPhone、iPad或Mac的屏幕镜像而烦恼吗&#xff1f;Airpl…...

LaTeX列表排版避坑指南:用enumitem包轻松解决编号重置、缩进和对齐问题

LaTeX列表排版避坑指南&#xff1a;用enumitem包轻松解决编号重置、缩进和对齐问题 在撰写学术论文、技术文档或法律条款时&#xff0c;列表结构是组织内容的重要工具。但LaTeX默认的列表环境往往让用户陷入编号混乱、缩进不一致的泥潭。本文将深入剖析这些痛点的根源&#xff…...

Gemini3.1Pro数据分析报告自动化实战

用 Gemini 3.1 Pro 快速生成数据分析报告并自动可视化&#xff1a;端到端闭环&#xff08;生成—验证—反思—修正—回归&#xff09; 门控降级 4周MVP路线图要“快速生成数据分析报告并可视化”&#xff0c;真正难点不是生成文字&#xff0c;而是把报告做成可核验、可复用、可…...

告别模拟器:在Windows上直接安装Android应用的终极指南

告别模拟器&#xff1a;在Windows上直接安装Android应用的终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经梦想过在Windows电脑上直接运行Android应…...

从零到一:uni-app多端应用集成i18n国际化的完整实践指南

1. 为什么需要国际化&#xff1f; 第一次接触国际化需求时&#xff0c;我也以为就是简单的文本翻译。直到实际开发中遇到阿拉伯语从右向左排版、德语超长文本撑破布局、日语敬语体系等复杂场景&#xff0c;才发现国际化远不止翻译这么简单。国际化&#xff08;i18n&#xff09…...

ArcSWAT建模踩坑记:你的土壤数据库参数算对了吗?聊聊SPAW的那些默认值和单位陷阱

ArcSWAT土壤参数校准实战&#xff1a;避开SPAW计算中的5个致命误区 当水文模拟结果与实测数据出现系统性偏差时&#xff0c;经验丰富的建模者会首先检查土壤参数——这个隐藏在界面背后的"沉默变量"往往是误差的最大来源。SPAW作为ArcSWAT推荐的土壤参数计算工具&…...

ComfyUI Video Combine节点3个核心技巧:解决视频合并常见问题

ComfyUI Video Combine节点3个核心技巧&#xff1a;解决视频合并常见问题 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 在AI动画创作中&#xff0c;ComfyUI的Vi…...

OpenCore Legacy Patcher终极指南:让老Mac免费运行最新macOS的完整教程

OpenCore Legacy Patcher终极指南&#xff1a;让老Mac免费运行最新macOS的完整教程 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是…...