首页 > 其他分享 >UnityExcel数据查看以及文件导入

UnityExcel数据查看以及文件导入

时间:2023-08-15 09:40:19浏览次数:33  
标签:读取 return openFileName 查看 UnityExcel Excel 导入 new string

需要插件EPPlus.dll、Excel.dll

/// <summary>
/// 读取 Excel 表并返回一个 DataRowCollection 对象
/// </summary>
/// <param name="_path">Excel 表路径</param>
/// <param name="_sheetIndex">读取的 Sheet 索引。Excel 表中是有多个 Sheet 的</param>
/// <returns></returns>
private static DataRowCollection ReadExcel(string _path, int _sheetIndex = 0)
{
FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);
//IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);//读取 Excel 1997-2003版本
Excel.IExcelDataReader excelReader = Excel.ExcelReaderFactory.CreateOpenXmlReader(stream);//读取 2007及以后的版本
DataSet result = excelReader.AsDataSet();
return result.Tables[_sheetIndex].Rows;
}
/// <summary>
/// 读取 Excel 表并返回一个 DataRowCollection 对象
/// </summary>
/// <param name="_path">Excel 表路径</param>
/// <param name="_sheetIndex">读取的 Sheet 名称。Excel 表中是有多个 Sheet 的</param>
/// <returns></returns>
private static DataRowCollection ReadExcel(string _path, string _sheetName)
{
FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);
//IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);//读取 Excel 1997-2003版本
Excel.IExcelDataReader excelReader = Excel.ExcelReaderFactory.CreateOpenXmlReader(stream);//读取 2007及以后的版本
DataSet result = excelReader.AsDataSet();
return result.Tables[_sheetName].Rows;
}

----------------------------------------------------------------------------------------------------------------------------------------

Excel文件导入--单例

private static SelectFileOrPath _Instance; //本类实例
#region 属性
private string _SelectFilePath; //选择的文件路径
private string _SelectFile; //选择文件
private string _FileName; //文件名称
//选择文件路径
public string SelectFilePath
{
get
{
return _SelectFilePath;
}
set
{
_SelectFilePath = value;
}
}
//选择文件
public string SelectFile
{
get
{
return _SelectFile;
}
set
{
_SelectFile = value;
}
}
//文件名称
public string FileName
{
get
{
return _FileName;
}
set
{
_FileName = value;
}
}
#endregion
/// <summary>
/// 本类实例
/// </summary>
/// <returns></returns>
public static SelectFileOrPath GetInstance()
{
if (_Instance == null)
{
_Instance = new SelectFileOrPath();
}
return _Instance;
}
/// <summary>
/// 选择文件路径(Unity自带的方法)
/// </summary>
public void SelectFolderPath_Unity()
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK)
{
SelectFilePath = fbd.SelectedPath;
}
}

/// <summary>
/// 选择文件路径(调用Windows方法)
/// </summary>
public void SelectExcelFilePath_Windows()
{
OpenSelectFileName openFileName = new OpenSelectFileName();
openFileName.structSize = Marshal.SizeOf(openFileName);
openFileName.filter = "Excel文件(*.xlsx)\0*.xlsx";
openFileName.file = new string(new char[256]);
openFileName.maxFile = openFileName.file.Length;
openFileName.fileTitle = new string(new char[64]);
openFileName.maxFileTitle = openFileName.fileTitle.Length;
openFileName.initialDir = UnityEngine.Application.streamingAssetsPath.Replace('/', '\\');//默认路径
openFileName.title = "请选择文件";
openFileName.flags = 0x00080000 | 0x00001000 | 0x00000800 | 0x00000008;
if (LocalDialog.GetSaveFileName(openFileName))
{
SelectFilePath = openFileName.file;
FileName = openFileName.file;
}
}

标签:读取,return,openFileName,查看,UnityExcel,Excel,导入,new,string
From: https://www.cnblogs.com/TriggerF/p/17629739.html

相关文章

  • git 仓库创建并导入项目
    1.初始化项目gitinit本地出现.git文件2、本地项目的文件gitadd.   添加所有的文件gitadd--all 添加所有的文件3、gitstatus显示工作目录和暂存区的状态4、gitcommit提交到版本库gitcommit-m"此处写提交备注"gitpushoriginmaster......
  • ABAP EXCEL批导和查看自建表样板
    结果:  内文:  源代码:ZHMRFI017:*&---------------------------------------------------------------------**&ReportZHMRFI017*&*&---------------------------------------------------------------------**&*&*&-------------......
  • 导入地址薄模块功能代码_需求设计和分析
              ......
  • 查看购物车
          ......
  • vite中导入全局样式变量(less、sass)
    1、先新建vars.less文件,定义基础样式变量2、在vite.config.ts下添加配置import{defineConfig}from'vite'importvuefrom'@vitejs/plugin-vue'importpathfrom"path";//https://vitejs.dev/config/exportdefaultdefineConfig({plugins:[vue(......
  • 不背单词自定义词书制作与导入
    0前言最近不得不开始准备GRE了,从张巍公众号白嫖了好多单词书,但是我从高中开始就不习惯使用纸质材料背单词了,都是使用不背单词这个app了。没错,我的高中是允许带手机的哈哈哈不背单词的自定义词书功能还不完善。所以我花了一上午研究怎么把PDF导入进去思路:通过将pdf文件转成一......
  • centos7 防火墙端口开启和关闭及查看
    一、防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctlenablefirewalld.service(2)设置开机禁用防火墙:systemctldisablefirewalld.service(3)启动防火墙:systemctlstartfirewalld(4)关闭防火墙:systemctlstopfirewalld(5)检查防火墙状态:systemctlstatusfirewalld二......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录8
    Django实现文件上传、文件列表查看、修改、限流和日志记录8本章节,总结一些部署项目遇到的报错,希望会有所帮助NameError:name'datetime'isnotdefined报错“logging.info('用户{}在{}登录成功'.format(username,datetime.now()))NameError:name'datetime'isnotd......
  • AN---导入不了音频
    很多时候,我们做好的MP3文件,无法导入进入:主要问题可能是:MP3采样率的问题解决方法:格式化工厂方案一:转mp3音频格式化工厂改采样率:44100然后:输出配置设置采样率:44100然后添加文件后,进行转即可。方案二:格式化工厂-WAV格式其次,如果是直接将mp3文件拖进AN,但是拖不进,需要......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录7
    Django实现文件上传、文件列表查看、修改、限流和日志记录7不管调用的接口在内网,还是外网都需要做好限制保证接口的访问和限流降级处理,本章节新增限流功能。限流功能主要针对两个方面:IP和用户针对IP限流文件列表接口进行限流处理,限制每分钟每个IP访问10次,你可以使用Dja......