打开文件对话框,一个用于多个Excel扩展名的过滤器?


69

我想使用OpenFileDialog对象浏览到Excel文件。我想将过滤器设置为打开具有不同类型的excel扩展名的文件,例如:.xls,.xlsm,.xlsx等。

我正在使用的是这样的:

OpenFileDialog of = new OpenFileDialog();
of.Filter = "Excel Files(.xls)|*.xls| 
    Excel Files(.xlsx)|*.xlsx| Excel Files(*.xlsm)|*.xlsm";

这可行,但是用户必须从OpenFileDialog的下拉列表中选择正确的excel文件类型。

有谁知道是否有一种方法可以对所有类型的Excel扩展应用一个过滤器?

类似于:“ ... Excel文件(.xls,.xlsx,.xlxm)| * .xls,*。xlsx,*。xlsm;”

预先感谢您的任何答复。


1
MSDN文档有所有的细节:msdn.microsoft.com/en-us/library/...
大卫赫弗南

感谢大卫和喜剧。是的,页面上的示例是我读过的页面,但是以某种方式我错过了本节。谢谢。
netcat 2013年

Answers:


137

使用分号

OpenFileDialog of = new OpenFileDialog();
of.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm";

太棒了!音频文件需要它dialog.Filter = "Audio Files|*.mp3;*.wav;*.wmp";
Andrew Grinder 2014年

谢谢!节省了我一些网上搜索的时间
艾伦·利纳托茨

1
对于两个过滤器-以我的CSV和Excel文件CSV files (*.csv)|*.csv|Excel Files|*.xls;*.xlsx;*.xlsm
为例

2
Excel Files|*.xlsx;*.xlsm;*.xlsb;*.xltx;*.xltm;*.xls;*.xlt;*.xls;*.xml;*.xml;*.xlam;*.xla;*.xlw;*.xlr; 扩展来自:support.office.com/en-us/article/...
aeroson

您可以使用*来指代不止一种类型,例如:of.Filter = "Excel Files|*.xls*";
CelsoLívero'19

4

如果要合并过滤器(例如CSV和Excel文件),请使用以下公式:

OpenFileDialog of = new OpenFileDialog();
of.Filter = "CSV files (*.csv)|*.csv|Excel Files|*.xls;*.xlsx";

或者,如果您想一次查看XML或PDF文件,请使用以下方法:

of.Filter = @" XML or PDF |*.xml;*.pdf";
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.