从 SaveFileDialog 获取选择的文件类型

Getting chosen file type from SaveFileDialog

在 WinForms 的 SaveFileDialog 中,我提供了保存 Excel 文件或 csv 文件的选项。我如何才能选中该选项?

SaveFileDialog exportDialog = new SaveFileDialog();
exportDialog.Filter = "Excel spreadsheet (*.xlsx)|*.xlsx|Comma-separated values file (*.csv)|*.csv";

if (exportDialog.Filter.ShowDialog() == DialogResult.OK)
{
    // do something based on chosen file type
}

您可以像这样使用 FilterIndex of SaveFileDialog 来实现它:

SaveFileDialog exportDialog = new SaveFileDialog();
exportDialog.Filter = "Excel spreadsheet (*.xlsx)|*.xlsx|Comma-separated values file (*.csv)|*.csv";

 
            if (exportDialog.ShowDialog() == DialogResult.OK)
            {
                if (exportDialog.FilterIndex == 1)
                {
                    MessageBox.Show("Excel");
                }

                if (exportDialog.FilterIndex == 2)
                {
                    MessageBox.Show("CSV");
                }
            }

注意:项目索引将从1开始。