所以我真的不能使用Excel对象模型来使用服务器端?

时间:2011-08-27 16:05:05

标签: c# asp.net excel

我正在尝试开发一个c#/ asp.net应用程序来从SQL服务器中提取数据并将其格式化为excel电子表格。我一直在练习excel对象模型,最近偶然发现了这一点:http://support.microsoft.com/kb/257757服务器端自动化Office的注意事项

据我所知,我真的不能使用Excel对象模型?如果没有,除了本文中建议的以及我可以使用的第三方应用程序之外还有什么其他解决方案/建议?

3 个答案:

答案 0 :(得分:3)

我可以推荐SpreadsheetGear库,它在一个托管dll中包含所有Excel功能:

http://www.spreadsheetgear.com/

答案 1 :(得分:3)

从那篇文章:

  

Microsoft目前不推荐,也不支持,   任何无人值守的Microsoft Office应用程序的自动化,   非交互式客户端应用程序或组件(包括ASP,   ASP.NET,DCOM和NT服务),因为Office可能会出现不稳定   Office在此环境中运行时的行为和/或死锁。

这意味着微软不会明确阻止您尝试(许可允许您尝试。)但是,如果出现问题,由您决定如何解决它。

有一个更好的选择:

Create Excel (.XLS and .XLSX) file from C#

这将允许您创建要下载的文件,而无需在服务器端使用Excel自动化。

答案 2 :(得分:2)

您可以'在服务器端使用Excel自动化。但是,您将违反许可证,可能会遇到安全问题并且通常会遇到其他奇怪的行为,尤其是如果您有多个用户一次使用它。我建议你不要这样做。

  1. 如果您要编写的数据足够简单,只需将其作为csv

  2. 如果没有,你真的必须写一个电子表格寻找第三个     写入excel文件的party组件。我只知道一次 该     我的头脑,那就是Aspose.Cells,但这是相当的 昂贵。