我正在使用C#中的Excel工作表,我很惊讶只选择excel表。 我尝试了以下代码
OpenFileDialog browseFile = new OpenFileDialog();
browseFile.DereferenceLinks = true;
browseFile.Filter = "Excel|*.xls|Excel 2010|*.xlsx";
// browseFile.Filter = "Link Files (*.lnk)|*.lnk";
browseFile.Title = "Browse Excel file";
if (browseFile.ShowDialog() == DialogResult.Cancel)
使用此代码不仅可以获得Excel工作表,还可以获得快捷方式文件。 任何人都可以建议我如何限制快捷方式文件。
答案 0 :(得分:9)
请查看您是否对以下方法感到满意。
在此期间,让我尝试使用反射可能的事情。
OpenFileDialog openKeywordsFileDialog = new OpenFileDialog();
openKeywordsFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
openKeywordsFileDialog.Multiselect = false;
openKeywordsFileDialog.ValidateNames = true;
openKeywordsFileDialog.DereferenceLinks = false; // Will return .lnk in shortcuts.
openKeywordsFileDialog.Filter = "Excel |*.xlsx";
openKeywordsFileDialog.FileOk += new System.ComponentModel.CancelEventHandler(OpenKeywordsFileDialog_FileOk);
var dialogResult = openKeywordsFileDialog.ShowDialog();
void OpenKeywordsFileDialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
OpenFileDialog fileDialog = sender as OpenFileDialog;
string selectedFile = fileDialog.FileName;
if (string.IsNullOrEmpty(selectedFile) || selectedFile.Contains(".lnk"))
{
MessageBox.Show("Please select a valid Excel File");
e.Cancel = true;
}
return;
}
答案 1 :(得分:5)
尝试使用此功能。希望这有帮助!干杯! :d
browseFile.Filter =“Excel文件(* .xls或 .xlsx)| .xls; *。xlsx”;