c#结束excel进程

anran02 2013-03-22 11:38:36
在运行程序的时候
for (int i = headRow + 1; i < rowCout; i++)//headRow 和rowCout 是整数
{
//代码
//
Microsoft.Office.Interop.Excel.Application pApp = new Microsoft.Office.Interop.Excel.Application();
xApp.Visible = false;
Microsoft.Office.Interop.Excel.Workbook pBook = xApp.Workbooks._Open(@path_save,
Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet pSheet = (Microsoft.Office.Interop.Excel.Worksheet)pBook.Sheets[1];
// 代码
//

pBook.Save();
pBook.Close();
pBook = null;
pApp.Quit();
pApp = null;
}
在结束调用的时候excel进程会驻留在内存里而不会在每一个循环的结束结束
但是 在进行另一个操作(例如 主线程创建新线程或调用其他方法)的时候Excel进程会一起结束
请问怎么才能在每一个循环结束的时候就结束进程(因为循环会进行很多次)
...全文
49 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2013-03-22
  • 打赏
  • 举报
回复
没必要循环创建,只用一个公共的 pApp 实例,最后循环完毕,释放
我是老姚 2013-03-22
  • 打赏
  • 举报
回复
如果是这样的话建议把EXCEL APP定义在循环外面,都处理完成之后再一起关闭。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧