У меня есть приложение winform, и я пытаюсь закрыть excel, не показывая подсказку сохранения. После поиска решений в google и stackoverflow это то, что я придумал, но он не работает для меня.Невозможно закрыть excel без указания подсказки
string filepath = string.Empty;
string reportname = lblreportname.Text;
filepath = Application.StartupPath + "\\StandardReports\\" + reportname + ".xls";
Microsoft.Office.Interop.Excel.Application xlApp;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(filepath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
List<string> WorksheetList = new List<string>();
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(lsvSelectedQ.SelectedItem.ToString());
Microsoft.Office.Interop.Excel.Range objRange = null;
objRange = (Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[1, 5];
string intrvl = objRange.Value.ToString();
//more code
xlApp.DisplayAlerts = false;
xlWorkBook.Save();
xlWorkBook.Close();
xlApp.DisplayAlerts = true;
xlApp.Quit();
С xlApp.DisplayAlerts = false;
я смог подавить приглашение, но я также не смог закрыть первенствовать. Я все еще вижу процесс excel в диспетчере задач.
Возможный дубликат [VBA workbooks.Close без запроса к пользователю, если хочет сохранить?] (http://stackoverflow.com/questions/11220537/vba-workbooks-close-without-being-prompted-to-if-the-user-wants-t o-save) –
@AxelKemper Я ищу решение для C#. Или решение Vb, которое можно легко перевести на C# с помощью онлайн-инструментов. Сообщение, на которое вы ссылаетесь, имеет решение vba. – Arbaaz
Вы пытались удалить вторую часть 'DisplayAlerts'? Я делаю 'DisplayAlerts = false',' Save() ',' Close() 'и' Quit() ', и он отлично работает для меня – uTeisT