簡體   English   中英

C#和Excel Interop問題,保存excel文件不順暢

[英]C# and Excel Interop issue, Saving the excel file not smooth

我可以打開和寫入excel文件,但是當我嘗試通過向其傳遞路徑來保存文件時,保存操作會提示“保存”對話框。 我希望它能夠在指定的路徑上保存文件

代碼如下:

excelApp.Save(exportToDirectory);
excelApp.Quit();

其中, exportToDirectory是:“C:\\ files \\ strings.xlsx”。

PS:我已經檢查了excel版本和類似的問題。

謝謝

您需要使用Workbook.SaveAs而不是Application.Save

Excel.Application app = new Excel.Application();
Excel.Workbook wb = app.Workbooks.Add(missing);
...
wb.SaveAs(@"C:\temp\test.xlsx", missing, missing, missing, missing,
          missing, Excel.XlSaveAsAccessMode.xlExclusive,
          missing, missing, missing, missing, missing);

設置以下屬性也可能有所幫助:

excelApp.DisplayAlerts = false;
excelApp.ScreenUpdating = false;
excelApp.Visible = false;
excelApp.UserControl = false;
excelApp.Interactive = false;

只需將ActiveWorkbook.Saved 屬性設置為true ,就可以在沒有任何對話框的情況下退出();

好吧,這就是微軟如何做到的:

// Save the Workbook and quit Excel.
m_objBook.SaveAs(m_strSampleFolder + "Book1.xls", m_objOpt, m_objOpt, 
    m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, 
    m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objBook.Close(false, m_objOpt, m_objOpt);
m_objExcel.Quit();

查看他們的知識庫文章之一

myBook.Saved = true;
myBook.SaveCopyAs(xlsFileName);
myBook.Close(null, null, null);
myExcel.Workbooks.Close();
myExcel.Quit();

我發現excelApp.ActiveWorkbook.save()可以保存文件,然后我可以退出而不用詢問。

ExcelApp.Interactive = false禁止任何對話框。

excelApp.ActiveWorkbook.SaveAs(exportDirectory)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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