本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/6893934.html

本文学习如何把数据转存为Excel文件并调用SaveFileDialog窗口进行保存。

首先需要引用几个Plugins  :System.Windows.Forms(SaveFileDialog窗口)  NOPI(Excel文件的数据储存)

调用SaveFileDialog窗口的代码:

 public static void OpenDialog(Action<Stream> onSave){
using (SaveFileDialog saveFile = new SaveFileDialog()){
saveFile.Title = "保存文件";
saveFile.Filter = "Excel files(*.xls)|*.xls|All files(*.*)|*.*";
saveFile.InitialDirectory = UnityEngine.Application.dataPath;
if(saveFile.ShowDialog()==DialogResult.OK){
using(Stream s=saveFile.OpenFile()){
if (onSave != null)
onSave (s);
} string Savepath = Path.GetDirectoryName (saveFile.FileName); Process.Start (Savepath);
}
}
}

需要保存其他类型的文件可以把上述代码修改为自己想要的即可。

效果图如下:

可惜窗口是英文的,查阅了很多资料,发现汉化会有问题,故如果有小伙伴知道如何汉化,一定要记得联系——AdvancePikachu。

接下来是Excel文件的数据储存,代码如下:

 public void WriteToStream(Stream s)
{
IWorkbook workbook = new HSSFWorkbook ();
ISheet sheet = workbook.CreateSheet (); IRow row = sheet.CreateRow ();//参数0表示第0行 string[] firstRow = new string[]
{
"ID",
"性别",
"博客"
}; for (int i = ; i < firstRow.Length; i++)
{
ICell cell = row.CreateCell (i);
cell.SetCellValue (firstRow [i]);
} IRow row2 = sheet.CreateRow (); string[] secondRow = new string[]
{
"AdvancePikachu",
"男",
"http://www.cnblogs.com/AdvancePikachu/"
}; for (int i = ; i < secondRow.Length; i++)
{
ICell cell = row2.CreateCell (i);
cell.SetCellValue (secondRow [i]);
} workbook.Write (s);
}

保存的数据和行列可以自行设置,效果图如下:

当然,最后把调用第一个脚本的方法也分享下,

代码如下:

         void save()
{
SaveDialog.OpenDialog (saveExcel);
} void saveExcel(Stream s)
{
ExcelWrite ew = new ExcelWrite ();
ew.WriteToStream (s);
}

好了,调用SaveFileDialog保存Excel文件的学习就告一段落了。

Unity C# 调用SaveFileDialog保存Excel文件的更多相关文章

  1. C++ 保存Excel文件(带密码保护)

    最近有客户需求报表保存为xls的功能,需要保存的文件设置密码保护,特进行尝试! Workbook.SaveAs method (Excel) 参数详情:https://docs.microsoft.c ...

  2. NPOI 2.0 读取、编辑、保存Excel文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  3. java使用org.apache.poi读取与保存EXCEL文件

    一.读EXCEL文件 package com.ruijie.wis.cloud.utils; import java.io.FileInputStream; import java.io.FileNo ...

  4. Unity中调用Windows窗口选择文件

    1.OpenFileName数据接收类,如下: using UnityEngine; using System.Collections; using System; using System.Runt ...

  5. Unity C# 运用 GetSaveFileName() 导出Excel文件

    本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/6944870.html 唉哟,这次厉害咯,网上搜罗了好久,终于被我找到汉化的保存对话框了,根 ...

  6. Python 操作 MS Excel 文件

    利用 Python 对 Excel 文件进行操作需要使用第三方库: openpyxl,可执行 pip install openpyxl 进行安装 1. 导入 openpyxl 模块 导入 openpy ...

  7. c# listview导出excel文件

    首先在工程中需要添加对Microsoft Excel office 11.0 object的引用 生成excel的类代码如下 using System; using System.Collection ...

  8. Spire.XLS,生成Excel文件、加载Excel文件

    一.组件介绍 Spire.XLS是E-iceblue开发的一套基于企业级的专业Office文档处理的组件之一,全称Spire.Office for .NET.旗下有Spire.Doc,Spire XL ...

  9. 使用Microsoft.Office.Interop.Excel.dll 文件来生成excel 文件

    日常工作中经常需要将后台的数据导出成excel  格式,这里通过调用微软提供的类库来生成excel 文件. 具体是引用 了Microsoft.Office.Interop.Excel.dll 类库文件 ...

随机推荐

  1. RAC环境下ORACLE序列缓存导致序列混乱

    目前项目中发现了这样一个问题,在数据库部署了RAC环境之后,偶尔会出现从Oracle Sequence所取出来的数是混乱的,比如第二次比第一次所取的数要小.这样当程序的逻辑依赖于ID的大小来排序时,就 ...

  2. linux 防暴力破解

    #!/bin/bash SCANIP=`grep "Failed" /var/log/secure* | awk '{print $(NF-3)}'| sort |uniq -c ...

  3. k8s 基础 核心概念

    Pod pod是若干相关容器的集合,Pod包含的容器运行在同一台宿主机上,这些容器使用相同的网络命名空间,ip地址和端口,相互之间能通过localhost来发现和通信.另外,这些容器还可共享一块存储空 ...

  4. nginx gzip

    # 开启gzip gzip on;   # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩 gzip_min_length 1k;   # gzip 压缩级别,1-10,数字越大压缩的越好,也 ...

  5. Java探索之旅(15)——包装类和字符类

    1.包装类 ❶出于对性能的考虑,并不把基本数据类型作为对象使用,因为适用对象需要额外的系统花销.但是某些Java方法,需要对象作为参数,例如数组线性表ArrayList.add(Object).Jav ...

  6. C语言入门题

    1. 如下语句通过算术运算和逻辑运算之后 i 和 j 的结果是()         int i=0;         int j=0;         if((++i>0)||(++j>0 ...

  7. 从Github远程库安装Node.JS

    3)从Github远程库安装Node.JS在这个方法中我们需要一些步骤来把Node.js的从Github上的远程的仓库克隆到本地仓库目录 在开始克隆(克隆)包到本地并且配制之前,我们要先安装以下依赖包 ...

  8. 6、R语言绘制带errorbar 的柱状图

    转载:http://www.cnblogs.com/xudongliang/p/7283733.html data <- data.frame(mean = c(10, 15), sd = c( ...

  9. Linus与陈庆

    Linus 1969年末,李纳斯出生于芬兰的赫尔辛基市,算是赶上了60后的尾巴.小时候他是个其貌不扬的孩子,除了一个鼻子长的「富丽堂皇」之外乏善可陈.他为了让鼻子看上去小一些,经常戴上眼镜就不愿意摘下 ...

  10. c# 窗体启动后自动执行 Form_Load事件注册及调用

    很多时候我们需要在程序一开始后立即触发执行一些程序.这时候需要调用Form_Load. 首先编写事件程序块,编写完后即可再里面添加需要执行的代码. 在结构体之后写就行.添加之前的代码如下: using ...