为什么Microsoft.Office.Interop.Excel.Application.Quit()使后台进程运行?

瘦软件

以下代码将使Microsoft Excel后台进程一直运行,直到退出程序为止:

var excelApplication = new Application();
var workbooks = excelApplication.Workbooks;
var workbook = excelApplication.Workbooks.Open(file.FullName);

workbook.Close();
excelApplication.Workbooks.Close();
excelApplication.Quit();

Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(workbooks);
Marshal.ReleaseComObject(excelApplication);

为什么?我想念什么?

瘦软件

得到它了!

application.Workbooks!= application.Workbooks

该属性不公开变量,而是生成一个值。因此,每次访问Workbooks属性时,我都会创建一个新的COM对象。

我修复了代码,一切都很好。谢谢大家。

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);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将类型为“ microsoft.Office.Interop.Excel.ApplicationClass”的COM对象转换为“ microsoft.Office.Interop.Excel.Application”

Office 2007的Microsoft.Office.Interop.Excel

Microsoft.Office.Interop.Excel.Application - 調用不同版本的 Excel

Microsoft.Office.Interop.Excel的阅读范围

为什么在项目中引用Microsoft.Office.Interop.Excel.dll时会添加其他文件?

C#-Microsoft.Office.Interop.Excel.Sheets到Microsoft.Office.Interop.Excel.Worksheet []

“ Application.Quit”使Excel在后台运行

是否有Microsoft.Office.Interop.Excel的替代库?

Build Server中的Microsoft.Office.Interop.Excel参考

使用Microsoft.Office.Interop Word和Excel

C#使用Microsoft.Office.Interop.Excel读取数据

Microsoft.Office.Interop.Excel未注册DLL

Microsoft.Office.Interop.Excel读取错误的颜色?

无法添加对microsoft.office.interop.excel的引用

将Excel数据导入和导出到vb.net时出错,“未定义Microsoft.Office.Interop.Excel.Application”

没有安装Excel的情况下使用Microsoft.Office.Interop.Excel创建Excel文件

我可以使用Microsoft.Office.Interop.Excel在未安装Microsoft Office Pack的系统上创建Excel文件吗?

使用Microsoft.office.Interop.Excel读取Excel时性能降低

C#阅读使用的Microsoft.Office.Interop.Excel Excel单元格的值

使用Microsoft Office Interop Excel使用C#在excel图表中自定义数据标签

如何使用命令参数运行 Interop.Excel.Application?

我如何创建接口Microsoft.Office.Interop.Word.Application的新实例

Microsoft.Office.Interop.Excel-使用分号分隔符打开CSV

我是否需要安装办公室才能使用Microsoft.Office.Interop.Excel.dll

无法转换类型为'Microsoft.Office.Interop.Excel.WorksheetClass'的COM对象

'Microsoft.Office.Interop.Excel.Range'不包含'get_Default'的定义

服务器上是否需要 MS Office 才能使用 Microsoft.Excel.interop

如何在ASP.NET中保存Microsoft.Office.Interop.Excel.Workbook

使用Microsoft.Office.Interop.Excel的C#从其他WorkSheet添加新系列和范围