簡體   English   中英

在C#中覆蓋Excel文件而不彈出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM