unity导入导出excel的功能
最近在做一个需要导入导出excel表格的功能,在网上查看和参考了一些资料,如quickSheet等,因为时间比较长了,忘了其他参考的作者名称,在这里说声抱歉!!!
首先介绍下功能,随后会上传原工程,喜欢的朋友可以下载查看。
工程目录:
data 目录:导入excel后会把excel生成二进制文件,好处就是会减少文件体积(如果表格过多)
entity : 导入excel后生成的数据实体类,免去大家定义数据格式的麻烦
excel : 里面是具体的代码。
功能:
1,导入功能:
导入相应的excel表格,通过编辑器扩展配置你想生成的数据格式及数据类型,点击生成数据类,就会生成数据实体。
导入代码:
/// <summary>
/// 获取导入的excel
/// </summary>
/// <param name="path"></param>
/// <param name="sheetName"></param>
public void ImportExcel(string path)
{
using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (ExcelPackage package = new ExcelPackage(fileStream))
{
ExcelWorksheets workSheets = package.Workbook.Worksheets;
ExcelWorksheet workSheet = workSheets[1];
ExcelAddressBase address = workSheet.Dimension;
row = address.Rows;
column = address.Columns;
List<string> titleList = new List<string>();
titles = new string[column];
//读取excel的第一行
for (int i = 0; i < column; i++)
{
if (workSheet.Cells[1, i + 1].Value == null)
{
continue;
}
titleList.Add(titles[i]);
}
titles = titleList.ToArray();
for (int i = 0; i < titles.Length; i++)
{
titles[i] = workSheet.Cells[1, i + 1].Value.ToString();
}
//读取excel中的数据
buffer = GetBytes(workSheet.Cells);
Debug.Log(buffer.Length);
}
}
}
生成的数据实体
2,导出功能:
/// <summary>
/// 导出excel表到指定路径
/// </summary>
/// <typeparam name="T">数据内容类</typeparam>
/// <typeparam name="K">表头类</typeparam>
/// <param name="path"></param>
/// <param name="t"></param>
/// <param name="k"></param>
public void CreateXLSX<T, K>(string path, List<T> t, K k) where T : class where K : class
{
//需要写入多少行数据
int count = t.Count;
//创建文件
FileInfo info = new FileInfo(path);
if (info.Exists)
{
info.Delete();
info = new FileInfo(path);
}
//写入内容
using (ExcelPackage package = new ExcelPackage(info))
{
//先创建一个工作表
ExcelWorksheet sheet = package.Workbook.Worksheets.Add("Sheet1");
FieldInfo[] fields = k.GetType().GetFields();
//写入表头
for (int i = 1; i < fields.Length + 1; i++)
{
sheet.Cells[1, i].Value = fields[i - 1];
}
//写入具体内容
for (int j = 2; j < count + 2; j++)
{
//获取到数据类内的所有字段
Type type = t[j - 2].GetType();
FieldInfo[] infos = type.GetFields();
for (int i = 1; i < infos.Length + 1; i++)
{
sheet.Cells[j, i].Value = infos[i - 1].GetValue(t[j - 2]).ToString();
}
}
package.Save();
}
}
网盘地址 :链接:https://pan.baidu.com/s/1pv9yIFiv4CoXWO2AvWOYsA
提取码:ng07
unity导入导出excel的功能相关推荐
- java excel data 导入数据_java实现导入导出excel数据
项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...
- Java导入导出Excel工具类ExcelUtil
前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hiberna ...
- csv和excel php 解析_PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数
CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV ...
- php导出excel2007实例,php导入导出excel实例
这里实现的PHP导入导出excel功能用到的是开源PHPExcel,执行下面的操作之前请先下载该类库文件,官方网站:http://www.codeplex.com/PHPExcel,官网案例代码很多, ...
- java 动态导入excel_java实现导入导出excel数据
项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...
- js实现导入导出Excel(结合js-xlsx)
本文是单纯用前端实现导入导出Excel的功能. 说明: 1.导入要求导入的数据是文本格式. 2.导出是导出json数据到excel文件 demo的githup地址:https://github.com ...
- opencart导入导出export/import功能插件
2019独角兽企业重金招聘Python工程师标准>>> 本版本仅适用于 opencart 1.5.5及 opencart 1.5.5.1,请下载者注意. 功能:网站管理员可以进行批量 ...
- java实现导出Excel的功能
这篇文章主要为大家详细介绍了java实现导出Excel的功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 导出excel是咱Java开发的必备技能啦,之前项目有这个功能,现在将其独立出来,分享一 ...
- EasyOffice-.NetCore一行代码导入导出Excel,生成Word
Excel和Word操作在开发过程中经常需要使用,这类工作不涉及到核心业务,但又往往不可缺少.以往的开发方式在业务代码中直接引入NPOI.Aspose或者其他第三方库,工作繁琐,耗时多,扩展性差--比 ...
- ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
最新文章
- 物理化学 热力学第一定律的概念
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits 函数:求交叉熵损失
- Web最基本的弹出窗口代码(javascript)
- 秒后面的单位是什么_为什么兰州马拉松很难跑出好成绩?
- vue 浏览器调试 样式如何定位样式_浏览器断点调试-程序员的必修课
- 联发科天玑800适配鸿蒙系统,联发科天玑800什么水平
- AI 芯片崛起!FPGA 工程师的核心竞争力在哪里?
- python高手养成_不要总抱怨它慢了 突破性能瓶颈 找到Python序列筛选数据的最优解...
- 禁止微信浏览器的下拉滑动
- zabbix安装笔记
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_7 Mybatis中使用代理Dao的执行过程分析...
- CCS6的graph变灰解决办法
- CAN分析仪 USBCAN USB转CAN CAN转换调试器接口卡使用指导
- Solaris 10系统指南
- 如何在Mac设置开机自启程序项,教程在这!
- 48搜索相关参数梳理以及bouncing results问题解决方案
- java 图片合成 工具类_Java实现的微信图片处理工具类【裁剪,合并,等比例缩放等】...
- JAVA初学者必备的基础书籍
- Modulation of Lipid Metabolism by Celastrol (文献分享一组-赵倩倩)
- 差分技术:LVDS(低压差分信号)、MLVDS(多点低压差分信号)的区别与应用场景
热门文章
- java b s用户管理系统_基于B/S的教务信息管理系统
- java一行代码实现集合写入Excel表格生成数据
- log公式如何用计算机,log计算-计算器怎么算log,如何使用科学计算器中的对数log...
- radon变换(c++、OpenCV实现)
- python ppt_从 Python 中学习 PPT 制作技巧
- deglitch 技术_fdc2214中文资料-技术参考.pdf
- 2022年建筑架子工(建筑特殊工种)考试资料及建筑架子工(建筑特殊工种)新版试题
- 金蝶云星空根据采购价目表写入自定义采购入库单是否价目表字段
- 本科毕业设计论文答辩ppt模板
- Zotero文献题录和附件如何导入到NoteExpress?