Unity C# 调用SaveFileDialog保存Excel文件

Unity引擎实现系统级别交互:打开Windows窗口指南 API(Application Programming Interface,应用程序编程接口)是一系列预先定义的函数、协议和工具的集合,它允许开发者编写软件与操作系统、数据库、硬件设备和其他软件应用程序进行交互。在操作系统层面,API提供了丰富的方法和接口供开发者调用,以执行如文件管理、进程控制、网络通信等底层操作。这些API被封装在动态链接库(DLLs)中,Windows操作系统提供了大量的系统DLL,例如kernel32.dll、user32.dll、gdi32.dll等。 阅读详情

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

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

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

调用SaveFileDialog窗口的代码:

 1 public static void OpenDialog(Action<Stream> onSave){
 2         using (SaveFileDialog saveFile = new SaveFileDialog()){
 3             saveFile.Title = "保存文件";
 4             saveFile.Filter = "Excel files(*.xls)|*.xls|All files(*.*)|*.*";
 5             saveFile.InitialDirectory = UnityEngine.Application.dataPath;
 6             if(saveFile.ShowDialog()==DialogResult.OK){
 7                 using(Stream s=saveFile.OpenFile()){
 8                     if (onSave != null)
 9                         onSave (s);
10                 }
11 
12                 string Savepath = Path.GetDirectoryName (saveFile.FileName);
13 
14                 Process.Start (Savepath);
15             }
16         }
17     }

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

效果图如下:

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

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

 1 public void WriteToStream(Stream s)
 2     {
 3         IWorkbook workbook = new HSSFWorkbook ();
 4         ISheet sheet = workbook.CreateSheet ();
 5 
 6         IRow row = sheet.CreateRow (0);//参数0表示第0行
 7 
 8         string[] firstRow = new string[] 
 9         {
10             "ID",
11             "性别",
12             "博客"
13         };
14 
15         for (int i = 0; i < firstRow.Length; i++) 
16         {
17             ICell cell = row.CreateCell (i);
18             cell.SetCellValue (firstRow [i]);
19         }
20 
21         IRow row2 = sheet.CreateRow (1);
22 
23         string[] secondRow = new string[] 
24         { 
25             "AdvancePikachu",
26             "男",
27             "http://www.cnblogs.com/AdvancePikachu/"
28         };
29 
30         for (int i = 0; i < secondRow.Length; i++)
31         {
32             ICell cell = row2.CreateCell (i);
33             cell.SetCellValue (secondRow [i]);
34         }
35 
36         workbook.Write (s);
37     }

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

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

代码如下:

 1         void save()
 2     {
 3         SaveDialog.OpenDialog (saveExcel);
 4     }
 5 
 6     void saveExcel(Stream s)
 7     {
 8         ExcelWrite ew = new ExcelWrite ();
 9         ew.WriteToStream (s);
10     }    

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

 

C#中使用savefiledialog保存为excel文件 立即下载

相关推荐

单相全桥逆变器中比例谐振(PR)控制的优化设计与实现

本文深入探讨了比例谐振(PR)控制在单相全桥逆变器中的优化设计与实现。通过对比PID控制,详细阐述了PR控制在50Hz基波频率处实现无静差跟踪和强抗干扰性的原理。文章提供了从理论建模、参数整定(Kp, Kr, ωc)到仿真验证的完整实战流程,并介绍了准比例谐振(QPR)控制以增强频率鲁棒性,以及多谐振点设计以抑制特定谐波等进阶优化方法,最终实现THD从3%降至1%以内的显著性能提升。

weixin_29056781的博客 176

Unity3D学习——截图并保存任意目录

1.前提条件:仅限于--Pc and Mac Standalone 2.准备工作:①找到System.Windows.Forms.dll:在unity的安装目录中找到它,如E:\ProgramFiles(x86)                            \Unity\Editor\Data\Mono\lib\mono\2.0                    ②设置.NET 2...

Jacob 1696

强化学习新手上路:用PPO-Clip轻松玩转Pendulum-v1(PyTorch保姆级教程)

本文提供了一份基于PyTorch的PPO-Clip算法实战教程,指导强化学习新手在Pendulum-v1环境中构建连续控制智能体。教程详细解析了PPO-Clip的核心机制,特别是其Clip机制如何限制策略更新幅度以确保训练稳定,并涵盖了从环境配置、策略网络设计、经验收集到完整训练框架搭建的全过程,是掌握连续动作空间强化学习的实用指南。

weixin_29062963的博客 270

Unity 在Windows平台下 调用OpenFileDialog和SaveFileDialog 让用户指定文件路径

转自: https://www.freesion.com/article/62131336949/ 自己留着防止找不到 using UnityEngine; using System.Collections; using System; using System.Runtime.InteropServices; public class 文件管理 : MonoBehaviour { public void 打开() { OpenFileDlg ofd = new

qq_42915442的博客 1005

单片机OTA升级:Bootloader如何多重校验保障APP完整性?

本文详细介绍了单片机OTA升级中Bootloader如何通过CRC校验、数字签名、版本比对和存储位置检查等多重校验机制保障APP完整性。CRC校验作为快速检测数据完整性的核心手段,结合其他安全措施有效防止设备变砖和安全漏洞,确保远程升级的可靠性。

l3m4n的博客 981

Python xlwings报错解决:从‘NoneType‘到完美运行WPS表格的完整指南

本文深入解析了使用Python xlwings库自动化WPS表格时遇到的经典'NoneType'报错(AttributeError: 'NoneType' object has no attribute 'apps')的根源与解决方案。核心在于pywin32版本与WPS的兼容性问题,文章提供了从版本降级、依赖管理到构建健壮自动化环境的完整实战指南,帮助开发者彻底解决兼容性难题,实现稳定运行。

n4o5p6q7r的博客 302

winform使用SaveFileDialog保存excel到本地

public void SaveExcel() { string fileSource = @"c:\1.xls"; //源文件 using (SaveFileDialog saveFileDialog1 = new SaveFileDialog()) { ...

dengtou9505的博客 2741

Windows 11/10系统盘被BitLocker锁了别慌!手把手教你用manage-bde命令找回密钥并解锁

本文详细介绍了当Windows 11/10系统盘被BitLocker锁定后的恢复方法,重点讲解了如何使用manage-bde命令行工具找回密钥并解锁加密驱动器。通过进入Windows恢复环境、诊断锁定状态、提取恢复密钥ID以及执行解锁操作等步骤,帮助用户有效解决BitLocker锁定问题,同时提供了后续防护优化建议和高级故障排除技巧。

weixin_42542669的博客 1460

使用Uni-Excel插件在unity中读写excel 还可通过选择目录的方式保存

插件连接插件地址 导入插件后如果报system.data冲突的错误 只需要把导入的插件下的plugins的system.data这个程序集删除 我这里已经删除过了 新建场景 自己创建个button 点击button出现选择保存目录的提示框 using UnityEngine; using System.Collections; using System.Collections.Generic;...

qq_44286170的博客 2708

PostgreSQL面试题及详细答案120道(101-120)

本文针对PostgreSQL数据库提供全面的性能优化方案,涵盖10个关键面试题解析。主要内容包括:1)并发参数调优(max_connections、worker_processes);2)缓存设置(effective_cache_size);3)WAL日志优化;4)慢查询监控与日志配置;5)会话管理与阻塞处理;6)高写入场景优化策略;7)存储类型参数调整;8)自动清理机制配置;9)大表DDL操作避坑指南;10)性能瓶颈诊断方法论。对DBA和开发者具有实操指导价值

大剑师兰特的GIS世界 855

redhawk:Low Power Analysis

1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power gating的设计方式,使用power switch cell关闭block/power domain的电源。 power switch的基本介绍可见: 低功耗设计-Power Switch power switch的table中有四种状态,对应block工作、待机和上电,下电。low power analysis主要分析上电的过程。 上电过程可以看做mos电容

m0_61544122的博客 3202

Unity学习——打开文件选择对话框

/// <summary> /// 打开对话框 /// </summary> /// <returns></returns> public static string AddGame() { OpenFileDlg pth = new OpenFileDlg(); str...

www1501766557的博客 946

基于 YOLOv26 的光伏板热斑检测系统:红外+可见光

本文提出了一种基于YOLOv26的光伏板热斑检测系统,采用红外+可见光双模态融合方案。系统架构包含数据预处理、热斑检测、故障诊断和维修决策等模块,结合无人机巡检与地面监控。关键技术包括YOLOv26目标检测模型、双模态数据融合、边缘计算部署等。研究构建了包含多种故障类型的光伏板专业数据集,并采用数据增强技术提升模型性能。系统实现了热斑检测、分类(轻微/中等/严重/危急)以及功率损失评估等功能,为光伏电站智能运维提供解决方案。

一键难忘的博客 496

C#DataGridview数据导出至excel两个方法

C#DataGridview数据导出至excel两个方法

HXD196的博客 3794

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【C#项目实战】高效Excel导出到默认位置

还是前两天做那个抽奖系统, 因为抽完奖要保存到Excel表格里所以用到了导出功能。 之前写过一篇用WPS导出的,但是那种导出方法效率太低,经常点击导出以后还要等它转两圈。所以就有了这篇博客。 PS:我们抽奖系统的最终界面和上一版有不小的变化。

卷 2264

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Unity(C#)编辑和保存Excel文件

需要先下载2个dll,一个是Excell.dll,一个是EPPlus.dll 将下载的2个dll文件放到Unity目录下的Plugins,比如:"....Assets/Plugins" 然后点击Unity的窗口,这个时候unity会自动加载,引用刚刚放进去的2个dll 再重新打开VS项目,打开解决方案,点击引用就可以看到这2个dll了 脚本添加引用:using Excel; usin...

PresleyGo的博客 1123

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Unity 调用Win32系统保存对话框,带默认文件名

网上很多Unity调系统保存对话框的,但没有对话框中带默认值的,花了一天时间解决了带默认值的问题。 下面是代码,希望大家少走弯路,工作顺利。 //name就是默认值, sfn.file = name这个语句需要放在sfn.maxFile = sfn.file.Length语句后面,要不然会一直报错。 public static string OpenFileDlgToSave(string ...

weixin_38548431的博客 953

【C#学习】保存对话框 saveDialog

【代码】【C#学习】保存对话框 saveDialog。

原来也有北瓜 761

excel数据保存

/Cells[r + 2, i + 1]表示工作簿从第二行开始第一行保存为表头了,dataGridView1.Rows[r].Cells[i].Value获取列的r行i值。

m0_70958113的博客 416

C# 保存文件

SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Excel表格(*.xlsx)|*.xlsx"; sfd.FilterIndex = 1; sfd.RestoreDirectory = true; if (sfd.S...

weixin_30550081的博客 1556

在窗体中把DataGridView中的数据导出Excel

1 //DataGridView导出Excel 2 private void bt_Excl_Click(object sender, EventArgs e) 3 { 4 SaveFileDialog saveFileDialog = new SaveFileDialog(); 5 6 ...

weixin_33827965的博客 240

c# 保存listView数据为excel文件的二种方法

以下代码实现:把listView中的数据保存成Excle。方法1,保存listView数据为excel文件。代码: 复制代码代码示例:using System.IO;using Microsoft.Office.Interop.Excel;public static void ExportToExcel(ListView pListView){    if (pListView.Items == ...

bruce135lee的专栏 2278

C# 保存表格数据到Excel

方法1这种方法需要在本机安装了Office,然后在程序中调用Windows Office的组件。 首先需要包含的空间:using Excel = Microsoft.Office.Interop.Excel;下面是导出到Excel表格的响应函数,(m_table是界面上的DataGridView控件)//导出到excel文件 private void button_ToExcel_

m_buddy的博客 1万+

通过 C# 将数据写入到Excel表格

本文将详细介绍如何使用免费.NET库将数据写入到 Excel 中,包括文本、数值、数组、和DataTable数据的输入。通过以上提供的三个示例,你可以将各种类型的数据写入到 Excel工作表中。写入文本:Worksheet.Range[].Text 或 Worksheet.Range[].Value 属性;C# 在Excel工作表中写入DataTable数据表。C# 在Excel工作表中写入DataTable数据表。C# 在Excel单元格中写入文本、或数值。C# 在Excel单元格中写入文本、或数值。

chinaherolts2008的博客 2041

C# 将数据生成excel并储存

这里说一下怎么将数据生成excel并储存有以下几步:(默认已有listview控件情况下) 1.定义一个string的二维数组_data用来储存listview内的项和其子项 2.弹出dialog对话框,编辑储存位置和文件名。将文件名储存到string path 3.知道储存路径后,新建workbook工作薄,新建worksheet工作表,新建cells表格 4.将_data数组内数据存入c

qq_37791764的博客 5174
上一篇: Unity C# 一些关于Camera的心得!
下一篇: Unity C# 运用 GetSaveFileName() 导出Excel文件
AdvancePikachu
博客等级 码龄10年 10粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值