10

我可以打开并写入 excel 文件,但是当我尝试通过传递路径来保存文件时,保存操作会提示保存对话框。我期待它能够将文件完全保存在指定路径

代码如下:

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

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

PS:我已经检查过excel版本和类似的问题。

谢谢

4

7 回答 7

15

您需要使用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);
于 2009-04-24T12:49:21.400 回答
15

设置以下属性也可能有帮助:

excelApp.DisplayAlerts = false;
excelApp.ScreenUpdating = false;
excelApp.Visible = false;
excelApp.UserControl = false;
excelApp.Interactive = false;
于 2009-04-24T12:52:53.217 回答
2

好吧,这是微软的做法:

// 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();

请参阅他们的一篇知识库文章

于 2009-04-24T12:52:36.977 回答
2

只需将ActiveWorkbook.Saved 属性设置为true ,您就可以在没有任何对话框的情况下 Quit();

于 2011-03-06T06:30:52.103 回答
1

ExcelApp.Interactive = false禁止任何对话框。

excelApp.ActiveWorkbook.SaveAs(exportDirectory)

于 2009-04-24T13:02:03.363 回答
1

我发现excelApp.ActiveWorkbook.save()哪个可以保存文件,然后我可以不问就退出。

于 2011-02-15T20:18:20.440 回答
1

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

于 2013-08-23T07:32:46.310 回答