本文原创,转载请注明出处: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. linux日常管理-vmstat命令

    系统负载用w查看.是什么原因造成了系统负载.查看系统负载状态 命令:vmstat vmstat就查看一次 vmstat 1 每秒钟更新一次.按ctrl+c取消. vmstat 1 5 每秒钟更新一次, ...

  2. [poj3281]Dining(最大流+拆点)

    题目大意:有$n$头牛,$f$种食物和$d$种饮料,每种食物或饮料只能供一头牛享用,且每头牛只享用一种食物和一种饮料.每头牛都有自己喜欢的食物种类列表和饮料种类列表,问最多能使几头牛同时享用到自己喜欢 ...

  3. 8、泛型程序设计与c++标准模板库2.5容器适配器

    容器适配器是用来扩展7中基本容器的,是修改和调整其他类接口的类.他们不提供存放数据的实际数据结构的实现方法,而且容器适配器也不支持迭代器. 1.标准栈容器 使用STL中的标准栈为程序员提供了一层附加的 ...

  4. 6.7 root和user之间的切换

  5. [转][译]ASP.NET MVC 4 移动特性

    此教程将讨论ASP.NET MVC 4 Web应用程序里的移动特性.对于此教程,可以使用 Visual Studio Express 2012 或者 Visual Web Developer 2010 ...

  6. 【linux-./configure 配置文件时出错问题】

    环境是:centos 5.6 安装系统时,可能安装的是标准的精简版本,所以没有选择软件依赖包,很多软件都没有安装. 现在需要安装软件,安装软件时报错: make: *** 没有指明目标并且找不到 ma ...

  7. Unity -- AssetBundle(本地资源加载和加载依赖关系)

    1.本地资源加载 1).建立Editor文件夹 2).建立StreamingAssets文件夹和其Windows的子文件夹 将下方第一个脚本放入Editor 里面 脚本一  资源打包AssetBund ...

  8. Libvirt代码架构

    Libvirt介绍 参考资料 Libvirt学习 通过virsh了解libvirt api的调用方式 通过virHypervisorDriver了解libvirt api的实现 virsh代码阅读 通 ...

  9. SCUT - 354 - CC的简单多项式 - 杜教筛

    https://scut.online/p/354 跟多项式一点关系都没有. 注意到其实两个多项式在1处求值,那么就是他们的系数加起来. 列一列发现系数就是n以内两两求gcd的值,还自动把0去掉了. ...

  10. Codeforces Round#522 Div2E(思维,背包,组合数学)

    #include<bits/stdc++.h>using namespace std;int a[107];int b[10007][107];int c[107][107];int ma ...