excel进程的最大数量?

时间:2012-06-22 15:09:27

标签: c# .net excel com automation

如果我这样做(例如)

 for (int i=0;i<22;i++)
 {
     var app = new Excel.Application();
 }

然后创建了22个excel进程。

然而,如果我这样做

 for (int i=0;i<25;i++)
 {
     var app = new Excel.Application();
 }

它创建了22个excel进程,但是其中大部分都消失了,只留下了几个。

是否有22或者什么的限制?这可以增加吗?

谢谢!

编辑:使用以下代码不会发生:

 var apps = new List<Application>();
 for (int i=0;i<25;i++)
 {
      apps.Add(new Application());
 }

2 个答案:

答案 0 :(得分:2)

垃圾收集开始......使用以下代码,它可以工作:

 var apps = new List<Application>();
 for (int i=0;i<25;i++)
 {
      apps.Add(new Application());
 }

答案 1 :(得分:0)

我记得Raymond Chen的一篇文章。如果您为特定机器加载了太多相同的进程,操作系统会将您切断。每台机器都有所不同(因为它取决于机器的性能)。

然而,我不能将25视为限制。这似乎有点太小,即使对于旧机器也是如此。您的任何文件是否引用了来自相同文件的数据,导致其中一些文件过早关闭,因为另一个Excel实例正在锁定该文件?

我需要更多信息才能找出实际情况。