Come chiudere senza salvare una cartella di lavoro Excel / xlsm, con una funzione personalizzata, da C #

Ho una cartella di lavoro di Excel con una funzione di cella personalizzata non dipendente dal tempo che sto aprendo da un’applicazione Windows NT di C # utilizzando Interop.Excel. Leggo quattro valori da esso, non eseguo modifiche / calcoli espliciti, quindi lo chiudo da C #.

Quando provo a chiudere direttamente (senza salvare), ottengo un prompt di salvataggio. Sospetto che ciò sia dovuto al fatto che Excel sta interpretando il ricalcolo automatico all’apertura come se creasse una modifica, anche se in realtà nulla cambia in senso numerico o formalmente. Ho anche impostato Excel.Application.Calculation = Excel.XlCalculation.xlCalculationManual . Come impedire che il prompt di salvataggio venga visualizzato e si chiuda semplicemente senza salvare?

Quando si utilizzano gli oggetti di Excel, assicurarsi di chiudere la cartella di lavoro in questo modo:

 Excel.Application xlApp ; Excel.Workbook xlWorkBook ; Excel.Worksheet xlWorkSheet ; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Add("Yourworkbook"); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); ....do your stuff xlWorkBook.Close(false, misValue, misValue); xlApp.Quit(); 

Il falso nel metodo close indica di non salvare le modifiche.

Recentemente stavo lavorando su automazione di Excel e ho trovato questo collegamento è la soluzione perfetta Kill Process Excel C #