【问题标题】:npoi export from datatable从数据表中导出 npoi
【发布时间】:2023-03-28 10:40:02
【问题描述】:

我有一个 asp.net 网站,它会生成一些包含 7-8 张数据的 excel 文件。 到目前为止最好的解决方案似乎是NPOI,它可以创建excel文件而无需在服务器上安装excel,并且具有类似于excel互操作的漂亮API。

但是我找不到类似于CopyFromRecordset 的方法在 excel 中转储整个数据表

关于如何做到这一点的任何提示,或比 NPOI 更好的解决方案?

【问题讨论】:

    标签: c# asp.net excel datatable npoi


    【解决方案1】:

    我认为 NPOI 是一个很好的解决方案,你不想在像 ASP.NET 这样的基于服务器的环境中与 Office 进行互操作,它只是不是为它设计的,它会失败。其实MS不支持这个,我会更新一个链接。

    至于 NPOI,我们的团队已经将它用于非常相似的事情,我知道他们编写了一个例程来转储数据表,所以我认为这意味着 NPOI 本身不具备这种能力。

    基本上你需要做的是枚举DataTable每一行中的值并将值写出来,这应该是一个相当简单的例程编写。

    更新:我承诺的链接。

    http://support.microsoft.com/kb/257757

    来自上述链接的关键短语

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

    【讨论】:

    • 感谢您的快速回答,然后我将尝试遍历数据表,我最大的担心是这会很慢。就速度而言,您的项目进展如何?在我的情况下,一些工作表将有超过 30k 行。
    • @Iulian,我会与团队核实,因为我不参与代码,但如果有性能投诉,我会听说的。如果您有效地使用 NPOI,我不明白为什么它应该很慢,就像大多数事情一样,我确信有正确的方法和错误的方法,所以诀窍是找到写入批量数据的最合适的方法到 NPOI,我会在明天与团队确认并在此回复。
    • 哇,它真的非常快,它可以立即生成我的 excel 文件。
    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 2011-12-10
    • 2018-12-21
    相关资源
    最近更新 更多