Подтвердить что ты не робот

С# и Excel Interop, сохранение файла excel негладким

Я мог бы открыть и записать в файл excel, но когда я попытаюсь сохранить файл, пройдя путь к нему, подсказки сохранения будут появляться в диалоговом окне "Сохранить". Я ожидал, что он будет quely Сохраните файл по указанному пути

Код выглядит следующим образом:

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

где exportToDirectory: "C:\files\strings.xlsx".

PS: Я уже проверил версию Excel и аналогичную проблему.

Спасибо

4b9b3361

Ответ 1

Вам нужно использовать 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);

Ответ 2

Настройка следующих свойств также может помочь:

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

Ответ 3

Ну, вот как это делает Microsoft:

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

См. одну из своих статью в KB.

Ответ 4

просто установите для свойства ActiveWorkbook.Saved значение true, и вы можете выйти() без какого-либо диалогового окна;

Ответ 5

ExcelApp.Interactive = false подавляет любое диалоговое окно.

excelApp.ActiveWorkbook.SaveAs(exportDirectory)

Ответ 6

Я нашел excelApp.ActiveWorkbook.save(), который может сохранить файл, после чего я могу выйти без запроса.

Ответ 7

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