1

我正在使用Microsoft.Office.Interop.Excel框架以编程方式创建一个 Excel 文件。在保存的时候,我想让用户选择命名和保存位置,所以我使用System.Windows.Forms.SaveFileDialog. 一切正常,除非用户选择了一个已经存在的文件名,然后两者SaveFileDialog.ShowDialog()Excel.Application.SaveAs()提出“这个文件已经存在 - 你确定要覆盖吗?” 警告,当然不需要 2。我看不出有办法压制他们中的任何一个。解决此问题的最佳方法是什么?

4

1 回答 1

0

它可能满足您的要求。

        try
        {
            Microsoft.Office.Interop.Excel.Application my_app = null;
            Microsoft.Office.Interop.Excel.Workbook my_book = null;
            Microsoft.Office.Interop.Excel.Worksheet my_sheet = null;
            Microsoft.Office.Interop.Excel.Range rng = null;
            object missing = Type.Missing;

            my_app = new Microsoft.Office.Interop.Excel.Application();
            my_book = my_app.Workbooks.Add(missing);
            my_sheet = (Microsoft.Office.Interop.Excel.Worksheet)my_book.ActiveSheet;

            rng = my_sheet.get_Range("A1", missing);
            rng.Value2 = "Welcome Man";

            SaveFileDialog s = new SaveFileDialog();
            s.ShowDialog();

            if (s.OverwritePrompt)
            {
                my_book.SaveCopyAs(s.FileName);
                my_book.Close(false, s.FileName, missing);

            }
            else
            {
                my_app.Save(s.FileName);
                my_book.Close(true, s.FileName, missing);
            }

        }
        catch
        {

        }
于 2013-02-19T07:28:02.970 回答