0
可能重复:
How to properly clean up Excel interop objects in C#Excel表单不关闭
我有一组功能。如果函数传递,然后我通过一个名为ExcelRecorder() 功能打印在名为WebServices_output.xlsx Excel工作表中的一些消息如果失败,那么我传递一些通过ExcelRecorder()失败的消息
上午发布我的代码下面
public void ExcelRecorder(int error, string detailmessage, string message, int row)
{
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:/WebServiceTestCases_Output.xlsx");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;
if (!string.IsNullOrEmpty(message))
{
((Range)xlWorksheet.Cells[row, "M"]).Value2 = "FAIL";
((Range)xlWorksheet.Cells[row, "N"]).Value2 = error;
((Range)xlWorksheet.Cells[row, "O"]).Value2 = detailmessage;
((Range)xlWorksheet.Cells[row, "P"]).Value2 = message;
}
else
{
((Range)xlWorksheet.Cells[row, "M"]).Value2 = "PASS";
((Range)xlWorksheet.Cells[row, "N"]).Value2 = "";
((Range)xlWorksheet.Cells[row, "O"]).Value2 = "";
((Range)xlWorksheet.Cells[row, "P"]).Value2 = "";
}
xlWorkbook.Save();
xlWorkbook.Close(0,0,0);
xlApp.Quit();
}
虽然我特别节省我的工作簿,关闭它,然后退出它,当我打开任务管理器,我看EXCEL.EXE仍在运行。当我运行五次或六次ExcelRecorder()时,在任务管理器中看到五个或六个Excel.EXE,并且程序崩溃。
这里有什么问题?为什么工作簿没有关闭,虽然我已经添加了关闭它的代码行?
这是一个重复的,挂在我会帮您找到它。 –