在.NET中操作excel xls和xlsx

我们需要在asp.net网页上更新excel文件(xls或xlsx)的一些单元格。 其他依赖的单元格也会自动更新。

我们尝试过使用:Excel Interop,但是在服务器上开发之后,我们遇到了太多的问题:安装办公室,安全性错误以及为NETWORK SERVICE增加更多权限,…有时候它是有效的。 所以它不稳定。

我们正在寻找一个开源的库来处理asp.net上的excel文件(xls或xlsx)。 你可以给我们推荐一些好的吗?

提前致谢。

正如您已经发现的:在服务器上使用Interop不受MS支持 – 请参阅http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

由于Windows Vista MS引入了一些安全相关的措施,防止Windows服务“做类似桌面”的事情…这意味着你将不得不规避一些安全措施,以使其工作(不推荐!)。

在服务器场景中处理Excel文件而不需要Office等,有几个选项(免费和商业):

我可以推荐Aspose.Cells和Flexcel …没有尝试SpreadsheetGear,但听到很多关于它的好东西…

免费选项(尽pipe只适用于较新的xlsx格式!)例如来自MS和EPPlus的 OpenXML 2 。

你可以试试这个库:

http://code.google.com/p/excellibrary/

或者,您可以使用NPOI来更改Excel文件,它不需要Office Instalation,而且比Excel Interop更简单。

如果您使用的Excel版本高于2003,则可能会发现ClosedXML有帮助:

http://closedxml.codeplex.com/

我们使用了http://www.gemboxsoftware.com/spreadsheet/overview ,并对可能性和性能感到满意