我可以使用c#调用多少excel进程



我有一个应用程序(web),它假设为每个会话打开单独的excel流程。当我尝试这个时,服务器只打开了20个进程,这是一个限制还是他们打开20多个Excel.exe进程的一种方式。

感谢

我认为这取决于您的系统资源。

然而,我可以根据个人经验告诉你,Excel Interop不是web应用程序(如C#ASP.NET)的推荐解决方案。甚至可以参见此处:https://support.microsoft.com/kb/257757?wa=wsignin1.0

为什么?:

  1. ExcelInterop使用了大量的系统资源,您的web应用程序很快就会遇到许多性能问题。

  2. Excel Interop必须安装在服务器上,并且进程标识也存在问题。安装和配置有时很困难,32位和64位系统的安装和配置也有所不同。

  3. 有时,天知道是什么原因导致Excel Interop进程不会立即关闭(不仅是在某些Interop资源未发布的情况下)。然后你将不得不自己关闭这些过程,这是一种真正的痛苦。

为什么不使用OpenXML或者更好的ClosedXML呢?您将看到您的代码在使用Excel文件时运行速度甚至快了100倍,因为OpenXML/ClosedXML将Excel文件视为XML文件,并且不会为中间操作创建额外的进程。

关闭XML链接:https://closedxml.codeplex.com/

最新更新