获取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下就可以


实现两个功能

  1. 读取Excel表

  2. 将读取的内容保存到新的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#类相关推荐

  1. C#使用Ado.net读取Excel表的代码

    工作之余,把做工程过程中重要的代码段做个记录,如下的资料是关于C#使用Ado.net读取Excel表的代码,应该能对各位有所帮助. using System; using System.Data.Ol ...

  2. excel怎样修改表格时间和计算机一制,Excel表格中如何自动生成记录数据的日期和时间...

    前几天有人问我:Excel表格在录入信息时如何在日期单元格自动生成日期时间? 在录入表格的时候,我们经常需要录入时间,比要填写出入库时间,为了减少录入的工作量,可以把日期设置为自动生成. 例如我们在B ...

  3. c#读取Excel表数据

    1,使用OLEDB可以对excel文件进行读取 . . private DataSet ReadExcelToDataSet(string path){//连接字符串/* 备注:添加 IMEX=1 表 ...

  4. java cell报错_有一个小小点问题,现在我想从eclipse上读取Excel表

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有一个小小点问题,现在我想从eclipse上读取Excel表,但是sheet的方法getcell报错,请问这是哪儿的错呢?谢谢 源码及报错图片如下: pa ...

  5. jmeter对乱码如何处理_JMeter读取 Excel 表中用例数据实现接口压测

    传统的接口测试,都是在接口中手动输入不同用例准备的多种场景参数数据,一遍一遍的输入来执行多个不同的用例,但是现在利用excel表格准备各种类型的数据,使用Jmeter中Jmeter CSV Data ...

  6. python怎么从excel获取数据_python如何读取excel表数据

    python读取excel表数据的方法:首先安装Excel读取数据的库xlrd:然后获取Excel文件的位置并且读取进来:接着读取指定的行和列的内容,并将内容存储在列表中:最后运行程序即可. pyth ...

  7. Vc 读取Excel表CSpreadSheet类详细解答

    http://wlyfamily.i.sohu.com/blog/view/59970001.htm 有些时候我们希望将输出的数据存到EXCEL文件或一些符号分隔文本文件(像逗号分隔.Tab符分隔). ...

  8. Unity中安卓和IOS读取Excel表

    **#Unity快速读取Excel表** 项目开发过程中,策划们可能会配置很多的数据放在不同的Excel当中,如商城物品等,那么我们程序就需要通过读取Excel的内容,已供程序使用. 下面是读取的Ex ...

  9. Unity读取Excel表

    网上找了一篇很好的博客 并对其修正+优化了一下https://blog.csdn.net/wangjiangrong/article/details/79980447 不多介绍先直接上手吧 准备工作 ...

最新文章

  1. 回溯算法——算法总结(四)
  2. ssh长时间不操作便断开_不懂Excel文件恢复方法?只要跟着这样操作,便可以光速恢复文件...
  3. 苹果iOS 13概念曝光 音量UI大改鼠标即时配对
  4. 外贸常用术语_外贸常用贸易术语之间,要这么换算……
  5. [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!(续)...
  6. sql将null替换为0_Firefox浏览器将被认为包含歧视性的 Master字眼替换为 Primary
  7. linux vi 替换字符串,vi字符串替换命令
  8. 响应面matlab,响应面拟合
  9. mysql 三角函数_三角函数公式
  10. 全基因组和外显子组测序行业调研报告 - 市场现状分析与发展前景预测
  11. 解决word模板目录域更新失败的问题
  12. php怎么弄面包屑,php实现面包屑导航例子分享
  13. pcl命名空间:segmentation/extract_clusters.h与segmentation/imp/extract_clusters.hpp
  14. android 视频背景图片,安卓手机怎么给视频添加背景图片 上下图片中间视频画面的小视频制作...
  15. python少儿编程008:海龟绘图画出奥运五连环!
  16. 指令周期,机器周期(CPU周期),时钟周期 关系
  17. BSP和MapReduce有什么区别?
  18. Firefox Developer Edition下载
  19. 单片机与ARM嵌入式区别
  20. jQuery选择器代码详解(一)——Sizzle方法

热门文章

  1. 遍历数组、对象的方法
  2. Java——网络编程(UDP与TCP通信及实现聊天案例)
  3. “链上天眼科技助警中国行·济南站”首日圆满落幕
  4. ubuntu20.04 关闭/开启图形化界面
  5. Electron系列文章-什么是Electron?
  6. iOS阻止文件被iTunes和iCloud同步
  7. 牛批了,1行python代码就可实现炫酷可视化!
  8. 「津津乐道播客」#201. 用声音聚众,聊聊这个不寻常的春节
  9. 微信小程序添加全局 socket 并接收消息通知
  10. 如何上传视频 前端---重要