我正在以编程方式创建一个带有Microsoft.Office.Interop.Excel
框架的Excel文件。当需要保存时,我想让用户选择命名和保存位置,因此我使用的是System.Windows.Forms.SaveFileDialog
。一切都运行良好,除非用户选择已存在的文件名,然后SaveFileDialog.ShowDialog()
和Excel.Application.SaveAs()
都提出“此文件已存在 - 您确定要覆盖吗?”警告,当然不需要2。我看不出有办法压制他们中的任何一个。解决这个问题的最佳方法是什么?
答案 0 :(得分: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
{
}