[英]overwrite excel file without popup in C#
以下用於保存excel文件的代碼仍然會彈出一個對話框,詢問我是否應覆蓋現有文件。 如何自動覆蓋現有文件而不會彈出彈出窗口?
xlWorkBook.SaveAs(@"C:\Temp\csharp-Excel.xls"
, XlFileFormat.xlWorkbookNormal
, misValue
, misValue
, misValue
, misValue
, XlSaveAsAccessMode.xlExclusive
, XlSaveConflictResolution.xlLocalSessionChanges
, misValue
, misValue
, misValue
, misValue);
您可以關閉應用程序對象上的DisplayAlerts
屬性。 例如:
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.DisplayAlerts = false;
正如@Degustaf指出的那樣:在SaveAs
代碼運行后,運行excel.DisplayAlerts = True
很重要。
另外,您可以使用System.IO.File.Exist()
檢查該文件是否存在,然后使用File.Delete
刪除它。
例如:
var fileName = @"C:\Temp\csharp-Excel.xls";
if (File.Exists(fileName)) File.Delete(fileName);
這將確保沒有相同名稱的文件,因此您可以在沒有提示的情況下將其覆蓋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.