我有一个基本上可以将excel文件转换为文本文件的功能。结构如下。我担心的是最后的部分?杀死excel是最佳做法吗?
Excel.Application excel=new Excel.Application();
Excel.Workbook wb=excel.Workbooks.Open(…);
Try
{
…
Foreach(Excel.Worksheet sheet in wb.Sheets)
{
…
Marshal.RealseComObject(sheet);
}
…
}
Catch()
{
}
Finally
{
wb.Close(false, missing, missing);
while (Marshal.ReleaseComObject(wb)!=0)
{
}
wb=null;
excel.Quit();
while (Marshal.ReleaseComObject(excel)!=0)
{
}
excel=null;
GC.Collect();
GC.WaitForPendingFinalizers();
}
更新:
我有以下版本的最后
Finally{
wb.close(false, missing, missing);
excel.application.quit();
excel.quit();
Marshal.ReleaseComObject(wb);
Marshal.ReleaseComObject(excel);
GC.Collect();
GC.WaitForPendingFinalizers();
}
哪个更好(更有意义)?我已经检查了这里的所有链接,但没有最终答案,每个人的答案都略有不同。我不确定哪一个是最好的?