首页 > 解决方案 > 使用 c# 将大型 SQL Server 结果导出到 excel(行数 = 100 万)

问题描述

我需要将 SQL Server 结果导出到 excel 文件(至少一百万行和至少 50 列)

约束:

  1. 我们不能使用互操作
  2. 数据应该只在一张纸上
  3. 该进程不应使用超过 5GB 的内存(时间消耗最多 45 分钟)
  4. Excel文件处理库应该是免费的
  5. 我们不想创建 CSV 文件

以下是我已经尝试过的方法:

  1. OpenXML(内存不足异常,如果尝试使用大量 Ram 写入少量数据)
  2. ClosedXML(它使用了太多的内存)
  3. EPPlus(它使用了太多的内存)

我怎样才能做到这一点?

标签: c#excelexport-to-excellarge-data

解决方案


你可以试试这个

for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
    for (j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
    {
        data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
        xlWorkSheet.Cells[i + 1, j + 1] = data;
    }
}

通过使用数据集

参考相关文章。


推荐阅读