EXCEL application.quit 不关闭进程问题解决

EXCEL application.quit 不关闭进程问题解决

直接上源码

        public bool Format(string filePath, string outputFile){var excelApplication = new Microsoft.Office.Interop.Excel.Application();Workbook workbook = null;XlFixedFormatType targetType = XlFixedFormatType.xlTypePDF; //PDF格式try{workbook = excelApplication.Workbooks.Open(filePath);if (!File.Exists(outputFile)) //存在PDF,不需要继续转换{workbook.ExportAsFixedFormat(targetType, outputFile);}}catch (Exception e){Console.WriteLine(e);return false;}finally{NAR(targetType);workbook?.Close();NAR(workbook);excelApplication.Quit();NAR(excelApplication);GC.Collect();}return true;}/// /// 释放资源/// /// private void NAR(object o){try{Console.WriteLine(o);Console.WriteLine(System.Runtime.InteropServices.Marshal.FinalReleaseComObject(o));}catch { }finally{o = null;}}

这个版本看起来没问题,但是我实际测试,无论怎么搞,excel进程依然存在。
最终解决方案

 var workbooks = excelApplication.Workbooks;workbook = workbooks.Open(filePath);NAR(targetType);workbook?.Close();NAR(workbook);workbooks?.Close();NAR(workbooks);excelApplication.Quit();NAR(excelApplication);GC.Collect();


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部