С# и Excel Interop, сохранение файла excel негладким
Я мог бы открыть и записать в файл excel, но когда я попытаюсь сохранить файл, пройдя путь к нему, подсказки сохранения будут появляться в диалоговом окне "Сохранить". Я ожидал, что он будет quely Сохраните файл по указанному пути
Код выглядит следующим образом:
excelApp.Save(exportToDirectory);
excelApp.Quit();
где exportToDirectory: "C:\files\strings.xlsx".
PS: Я уже проверил версию Excel и аналогичную проблему.
Спасибо
Ответы
Ответ 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();