c# - 使用 c# 将大型 SQL Server 结果导出到 excel(行数 = 100 万)
问题描述
我需要将 SQL Server 结果导出到 excel 文件(至少一百万行和至少 50 列)
约束:
- 我们不能使用互操作
- 数据应该只在一张纸上
- 该进程不应使用超过 5GB 的内存(时间消耗最多 45 分钟)
- Excel文件处理库应该是免费的
- 我们不想创建 CSV 文件
以下是我已经尝试过的方法:
- OpenXML(内存不足异常,如果尝试使用大量 Ram 写入少量数据)
- ClosedXML(它使用了太多的内存)
- EPPlus(它使用了太多的内存)
我怎样才能做到这一点?
解决方案
你可以试试这个
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;
}
}
通过使用数据集
推荐阅读
- json - 如何获取键值对并使用 JMESPath 将它们转换为对象数组
- angular-material - 展开时将面板滚动到屏幕的大部分顶部
- angular - 我想将 mxgraph 与 angular 4 集成
- c++ - 为什么要防止名称修改 C 文件
- python - Rosalind 不接受“变量和一些算术”任务
- c# - TypeConverter 中的枚举值
- go - 如何在go中动态更改函数参数类型
- sql-server-2008 - 唯一索引违规
- react-native - 如何在 React Native 的 map 中使用 yield
- c++ - 使用 CMake 将 open62541 库构建为外部库