【备忘录一】Unity3D使用ExcelDataReader读取excel表后代码自动生成C#类
获取ExcelDataReader库
可直接参考https://www.jianshu.com/p/a79e872783cb
也可以按照我总结的步骤来:
1.将ExcelDataReader下载到本地
https://github.com/ExcelDataReader/ExcelDataReader
运行cmd,输入下面的git命令可将库克隆到指定的本地目录
git clone https://github.com/ExcelDataReader/ExcelDataReader <本地目录>
2. vs运行.sln文件,然后生成解决方案(ctrl+shift+B)
不知道是不是我这里出了问题,从步骤1的git克隆下来的文件会报错,无法生成解决方案,但是我在用的是9月下载的文件,可以正常使用,如果有出现同样问题的可以先用我的文件
https://github.com/roughbonbon/Exceldatareader-20190903.git
3.把下图三个.dll文件复制到Unity项目中的Plugins文件夹下面
Plugins文件夹要自己新建,P大写后面有s不要写错
4.打开程序包管理台添加依赖
命令:
Install-Package ExcelDataReader
5.找到Unity安装目录下的System.Data.dll并将其复制到项目文件夹中
放在Assets下就可以
实现两个功能
读取Excel表
将读取的内容保存到新的C#脚本中
读取Excel表
//path是Excel文件的路径
FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read);
IExcelDataReader excelDataReader = ExcelReaderFactory.CreateOpenXmlReader(stream);DataSet result = excelDataReader.AsDataSet();
//excel表的行、列
int colums = result.Tables[1].Columns.Count;
int rows = result.Tables[1].Rows.Count;
//存储行、列的内容的List
List<string> para = new List<string>();
List<string> attribute = new List<string>();
//遍历excel表
for (int i = 0; i < colums; i++)
{para.Add(result.Tables[1].Rows[0][i].ToString());attribute.Add(result.Tables[1].Rows[1][i].ToString());
}
//关闭流,关闭IExcelDataReader
excelDataReader.Close();
stream.Close();
生成C#脚本
//curdir:生成的脚本的所在文件夹
//如果该文件夹不存在,就新建它
if (!Directory.Exists(curdir))
{Directory.CreateDirectory(curdir);
}
//PathName:生成的脚本的名字
string PathName = path.Split('/')[path.Split('/').Length - 1].Split('.')[0].Substring(6).ToString();
string filepath = curdir + PathName + ".cs";//写入第一个c#文件
StreamWriter writter = new StreamWriter(filepath, false);
writter.Write("using System.Collections;\n");
writter.Write("using System.Collections.Generic;\n");
writter.Write("using UnityEngine;\n");
writter.Write("\n");
writter.Write("public class ");
writter.Write(PathName);
writter.Write("\n{\n");
根据上面的代码生成的文件如下图
脚本的内容就按照自己的要求填写
writter.Write("<内容>");
最后关闭
writter.Close();
writter.Dispose();
还可参考:https://blog.csdn.net/whitebreeze/article/details/82837396
——如有错漏欢迎指出
【备忘录一】Unity3D使用ExcelDataReader读取excel表后代码自动生成C#类相关推荐
- C#使用Ado.net读取Excel表的代码
工作之余,把做工程过程中重要的代码段做个记录,如下的资料是关于C#使用Ado.net读取Excel表的代码,应该能对各位有所帮助. using System; using System.Data.Ol ...
- excel怎样修改表格时间和计算机一制,Excel表格中如何自动生成记录数据的日期和时间...
前几天有人问我:Excel表格在录入信息时如何在日期单元格自动生成日期时间? 在录入表格的时候,我们经常需要录入时间,比要填写出入库时间,为了减少录入的工作量,可以把日期设置为自动生成. 例如我们在B ...
- c#读取Excel表数据
1,使用OLEDB可以对excel文件进行读取 . . private DataSet ReadExcelToDataSet(string path){//连接字符串/* 备注:添加 IMEX=1 表 ...
- java cell报错_有一个小小点问题,现在我想从eclipse上读取Excel表
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有一个小小点问题,现在我想从eclipse上读取Excel表,但是sheet的方法getcell报错,请问这是哪儿的错呢?谢谢 源码及报错图片如下: pa ...
- jmeter对乱码如何处理_JMeter读取 Excel 表中用例数据实现接口压测
传统的接口测试,都是在接口中手动输入不同用例准备的多种场景参数数据,一遍一遍的输入来执行多个不同的用例,但是现在利用excel表格准备各种类型的数据,使用Jmeter中Jmeter CSV Data ...
- python怎么从excel获取数据_python如何读取excel表数据
python读取excel表数据的方法:首先安装Excel读取数据的库xlrd:然后获取Excel文件的位置并且读取进来:接着读取指定的行和列的内容,并将内容存储在列表中:最后运行程序即可. pyth ...
- Vc 读取Excel表CSpreadSheet类详细解答
http://wlyfamily.i.sohu.com/blog/view/59970001.htm 有些时候我们希望将输出的数据存到EXCEL文件或一些符号分隔文本文件(像逗号分隔.Tab符分隔). ...
- Unity中安卓和IOS读取Excel表
**#Unity快速读取Excel表** 项目开发过程中,策划们可能会配置很多的数据放在不同的Excel当中,如商城物品等,那么我们程序就需要通过读取Excel的内容,已供程序使用. 下面是读取的Ex ...
- Unity读取Excel表
网上找了一篇很好的博客 并对其修正+优化了一下https://blog.csdn.net/wangjiangrong/article/details/79980447 不多介绍先直接上手吧 准备工作 ...
最新文章
- 回溯算法——算法总结(四)
- ssh长时间不操作便断开_不懂Excel文件恢复方法?只要跟着这样操作,便可以光速恢复文件...
- 苹果iOS 13概念曝光 音量UI大改鼠标即时配对
- 外贸常用术语_外贸常用贸易术语之间,要这么换算……
- [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!(续)...
- sql将null替换为0_Firefox浏览器将被认为包含歧视性的 Master字眼替换为 Primary
- linux vi 替换字符串,vi字符串替换命令
- 响应面matlab,响应面拟合
- mysql 三角函数_三角函数公式
- 全基因组和外显子组测序行业调研报告 - 市场现状分析与发展前景预测
- 解决word模板目录域更新失败的问题
- php怎么弄面包屑,php实现面包屑导航例子分享
- pcl命名空间:segmentation/extract_clusters.h与segmentation/imp/extract_clusters.hpp
- android 视频背景图片,安卓手机怎么给视频添加背景图片 上下图片中间视频画面的小视频制作...
- python少儿编程008:海龟绘图画出奥运五连环!
- 指令周期,机器周期(CPU周期),时钟周期 关系
- BSP和MapReduce有什么区别?
- Firefox Developer Edition下载
- 单片机与ARM嵌入式区别
- jQuery选择器代码详解(一)——Sizzle方法