【问题标题】:writing to excel file from a two dimentional array VB.net从二维数组VB.net写入excel文件
【发布时间】:2013-01-11 20:30:11
【问题描述】:

我有一个通过迭代数据读取器形成的二维数组。早些时候,我使用自动化写入 excel 并使用范围,我能够一次将二维数组的内容写入 excel。这大大提高了性能,因为只有一次与 excel 的交互。但是遇到了一个问题,我的服务器没有安装 office,所以我尝试使用 openxml 的不同替代方案(因为在这种情况下我只需要安装一个 dll)。

在网上我看到了几个使用 openxml 的例子,但我不确定是否有办法将二维数组的内容直接传输到工作表。我不想迭代数据读取器并逐个单元格更新每个单元格,因为我有 65 列和近 90000 行。

那么 SDK 是否提供任何内置命令来执行此操作?

【问题讨论】:

    标签: ms-office openxml export-to-excel openxml-sdk


    【解决方案1】:

    您不应该害怕迭代,因为不再有“与 excel 交互”的 dcom 惩罚。打开的 xml 只是写入一个流,您可以对其进行缓冲以保存刷新到磁盘。

    仅供参考,我个人使用封闭式 xml (nuget @ http://nuget.org/packages/ClosedXML) 创建 Excel 文件,发现它比使用原始 Open XML 标准要好得多。

    最后,即使您在服务器上有 excel,您也不应该在没有 UI 的环境中使用 excel 作为 dcom 服务器。

    【讨论】:

    • 我有 90000x65 的表格,所以可以迭代每个单元格并将它们添加到 excel 中吗?有没有我可以看到 nuget 的例子?
    • 是的,大小与 closedXML api 无关。您仍然必须刷新到磁盘以避免内存问题。 closedxml 记录在closedxml.codeplex.com/documentation
    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 2018-03-08
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 2012-09-11
    相关资源
    最近更新 更多