我有一个asp.net网站,该网站将生成一些具有7-8张数据的excel文件。
到目前为止,最好的解决方案似乎是NPOI,它可以在不将excel安装在服务器上的情况下创建excel文件,并且具有与excel interop类似的API。
但是我找不到类似于CopyFromRecordset
的在Excel中转储整个数据表的方法
关于该操作的任何提示,或者比NPOI更好的解决方案?
最佳答案
我认为NPOI是一个很好的解决方案,您不想在基于ASP.NET的基于服务器的环境中与Office进行互操作,它不是为此而设计的,并且会失败。实际上MS不支持此功能,我将通过链接进行更新。
至于NPOI,我们的团队已将其用于非常相似的事情,并且我知道他们编写了一个例程来转储数据表,因此我认为这意味着NPOI本身不具备该功能。
基本上,您需要做的是枚举DataTable每行中的值并将其写出,这应该是一个相当简单的例程。
更新:我保证的链接。
http://support.microsoft.com/kb/257757
上面链接中的关键词
Microsoft当前不建议并且不支持从任何无人参与的非交互客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT Services)对Microsoft Office应用程序进行自动化,因为Office可能表现出不稳定的行为和/在此环境中运行Office时出现死锁或死锁。
关于c# - 从数据表中导出NPOI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2859329/