C#中经常用到的功能,打开文件:

        /// <summary>
/// 打开文件,可选择多个文件
/// </summary>
/// <param name="fileExt">输入文件尾缀名,不包含"."</param>
/// <returns></returns>
public static string[] OpenFiles(string fileExt)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Multiselect = true;//允许打开多个文件
dialog.DefaultExt = fileExt;//打开文件时显示的可选文件类型
dialog.Filter = fileExt + "xlsx文件|" + "*." + fileExt+"|xls文件|*.xls";//打开多个文件
if (dialog.ShowDialog() == DialogResult.OK)
return dialog.FileNames;
else
{
MessageBox.Show("返回文件路径失败");
return null;
}
}

其中

dialog.Multiselect = true

允许同时打开多个文件,选择中多个文件后,返回一个filenames数组,可以用如下代码遍历所有文件操作:

foreach (string filename in filenames)
{
//对单个文件进行的操作
}

其中dialog.Filter用于设置打开文件的默认格式

如果想要同时可以选择多种格式:

dialog.Filter = "excel文件(*.xlsx,*.xls)|*.xlsx;*.xls";

打开效果如下:

也可以设置筛选多种文件格式,每次显示一种:

dialog.Filter ="xlsx文件|*.xlsx|xls文件|*.xls";

结果如下:

C#打开文件的更多相关文章

  1. VS15 preview 5打开文件夹自动生成slnx.VC.db SQLite库疑惑?求解答

    用VS15 preview 5打开文件夹(详情查看博客http://www.cnblogs.com/zsy/p/5962242.html中配置),文件夹下多一个slnx.VC.db文件,如下图: 本文 ...

  2. 利用注册表在右键添加VS15的快捷方式打开文件夹

    1.简介 最近安装VS15 Preview 5,本版本可以打开"文件夹" 是否可以向Visual Studio Code一样在文件夹或文件右键菜单添加"Open with ...

  3. 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法

    1,到官网下载最新的boost,www.boost.org 这里我下载的1-63版本. 2,安装,解压后运行bootstrap.bat文件.稍等一小会就OK. 3,编译boost库.注意一定要使用VS ...

  4. 【Win10应用开发】通过拖放来打开文件

    除了可以使用XXXFilePicker来浏览文件外,其实在UWP APP中,也可以向传统Windows窗口一样,通过拖放的方式来打开文件. 处理过程和WPF的原理差不多,毕竟都是一脉相承,于是,在学习 ...

  5. Visual Studio 打开解决方案后 弹出框显示 "正在打开文件..." 迟迟没反应 的解决方法

    Visual Studio 打开解决方案后 弹出框显示 "正在打开文件...",任务管理器的devenv进程又很正常,不会显示"未响应". 而IDE的左下角有个 ...

  6. Unix内核中打开文件的表示

    Unix内核中已经打开文件,通过三种数据结构表示: 每个进程的进程表中的记录项,包含打开的文件的文件描述符表,与之关联的是: 文件描述符标识 指向一个文件表项的指针 内核为所有打开文件维持一张文件表, ...

  7. Linux内核分析:打开文件描述符实现

    在Linux中每一个进程的数据是存储在一个task_struct结构(定义在sched.h中)中的. struct task_struct { volatile long state; /* -1 u ...

  8. 如何解决sublime text 2总是在新窗口中打开文件及文件夹

    如何在原窗口打开文件 具体设置:Preferences -> Settings – Default -> 搜索open_files_in_new_window,将其true 改为 fals ...

  9. [转] - 在mac的终端中使用sublime打开文件

    在mac的终端中使用sublime打开文件 使用sublime提供的命令行工具.这个命令行工具位于 /Applications/Sublime\ Text\ 2.app/Contents/Shared ...

  10. 关于IE下用HTTPS无法下载/打开文件

    关于IE下用HTTPS无法下载/打开文件(ie8兼容模式下,ie7/ie6下有些问题.) http协议下运行正常,可以下载文件但放到https协议下就不好用一保存,IE提示:ie无法下载,请求站点不可 ...

随机推荐

  1. dedecms织梦网站本地迁移到服务器后,后台更新栏目文档提示模板文件不存在,无法解析文档!的解决办法

    解决办法: 1.系统设置-系统基本参数-站点设置-网页主页链接,替换为空 2.系统设置-系统基本参数-核心设置-DedeCMS安装目录,替换为空

  2. 解决java编译错误:编码 GBK 的不可映射字符 (0x8C)

    1. 问题概述: 程序很简单,打印一行字:你好,世界 (使用的工具是:win10自带的记事本.java的jdk:java development kit) 但是在打开终端进行编译时,报出了一个错误:编 ...

  3. Java Arrays.asList注意事项

    https://blog.csdn.net/kusedexingfu/article/details/77824189

  4. 【CF160E】Buses and People

    题目大意:给定 N 个三元组 (a,b,c),现有 M 个询问,每个询问给定一个三元组 (a',b',c'),求满足 a<a', b'<b, c'<c 的最小 c 对应的元组编号. ...

  5. repo 回退当前分支下所有仓库到指定日期前的最新代码版本

    回退命令: repo forall -c 'commitID=git log --before "2019-11-24 23:59" -1 --pretty=format:&quo ...

  6. 初识linux(简单命令)

    之前一直搞不懂,为什么全是命令行的linux系统这么多公司都在用,当你看不懂那一行行命令时你一定会和我一样觉得头大.但当你学习了命令再结合桌面版觉得linux还是挺不错的

  7. 一种sql优化方案

    --select @type3Count=count(1) from TWEB_ALogisticsYD bb -- LEFT JOIN dbo.TWEB_BCompanyJJ as B3 WITH( ...

  8. C# 5.0

    序言 异步成员 但是 async 和 await 才是此版本真正的主角. C# 在 2012 年推出这些功能时,将异步引入语言作为最重要的组成部分,另现状大为改观. 如果你以前处理过冗长的运行操作以及 ...

  9. Nowcoder Sum of Maximum ( 容斥原理 && 拉格朗日插值法 )

    题目链接 题意 : 分析 : 分析就直接参考这个链接吧 ==> Click here 大体的思路就是 求和顺序不影响结果.故转化一下思路枚举每个最大值对答案的贡献最后累加就是结果 期间计数的过程 ...

  10. gwyh 测试赛 验题人 - 题解 (非std做法)

    测试赛 - ljc20020730 解题报告 标签(空格分隔): solution Task A Tiat's easy question 首先,判断图中是否存在长度为奇数的环等价于判断图是否为二分图 ...