清除Interop.Excel对象时使用什么代替Marshal.ReleaseComObject?

时间:2018-10-20 05:38:01

标签: c# excel

我正在使用C#和Interop.Excel库创建一个Forms应用程序以读取数据并将数据写入Excel电子表格。 Excel将产生一个问题,但是即使我调用了应该关闭它的函数,它们也不会关闭。这是我关闭Excel应用程序的代码处理示例:

var excel = new Microsoft.Office.Interop.Excel.Application();
var workbooks = excel.Workbooks;
Workbook workbook = null;
Worksheet worksheet = null;
[insert code here where all the Excel spreadsheets are properly imported and exported ect]
workbook.Save();
workbook.Close(0);
workbooks.Close();
excel.Quit();

我记得在网上找到的大多数答案都建议我使用Marshal.ReleaseComObject(excel);或类似的东西。但是,我还发现Microsoft considers Marshal.ReleaseComObject dangerous and recommends not to use it.

是否有使用Marshal.ReleaseComObject的安全方法?还是有解决我问题的另一种方法?

0 个答案:

没有答案