Got it!
application.Workbooks! = application.Workbooks
This property does not expose a variable; it generates a value. Therefore, every time I access the Workbooks property, I create a new COM object.
I fixed the code and everything is fine. Thanks to everyone.
var excelApplication = new Application(); var workbooks = excelApplication.Workbooks; var workbook = workbooks.Open(pathToExcelWorkbook); // Fixed workbook.Close(); workbooks.Close(); excelApplication.Quit(); Marshal.ReleaseComObject(workbook); Marshal.ReleaseComObject(workbooks); Marshal.ReleaseComObject(excelApplication);
skinnysoftware
source share