使用NPOI导出Excel ICell调用过多 内存溢出

丶莫问 丶莫问 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
使用NPOI导出Excel ICell调用过多 内存溢出
datagridview一共有七十多列、六万多行 进行到四万多行的时候就提示'引发类型为“System.OutOfMemoryException”的异常。'
求高手帮忙看下


private void button3_Click(object sender, EventArgs e)
{
if (dgExcel.Rows.Count > 0)
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "xls文件|*.xls|所有文件|*.*";
save.FileName = "Demo.xls";
if (save.ShowDialog() == DialogResult.OK)
{
int irow = dgExcel.Rows.Count;
int n = (irow + 30000 - 1) / 30000;
using (HSSFWorkbook workbook = new HSSFWorkbook())
{
for (int i = 1; i <= n; i++)
{
if (i == n)
OutIntoExcel(workbook, i, i * 30000 - 30000, irow - 1);
else
OutIntoExcel(workbook, i, i * 30000 - 30000, i * 30000 - 1);
}
FileStream file = new FileStream(save.FileName, FileMode.Create);
workbook.Write(file);
file.Close();
}
MessageBox.Show("数据导出成功,请查看!", "数据导出", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}

public void OutIntoExcel(HSSFWorkbook workbook, int i, int rowf, int rowt)
{
ISheet sheet1 = workbook.CreateSheet("Sheet" + i.ToString());
IRow row;
ICell cell;
int rows = rowf;

for (int rowIndex = 0; rowIndex < 30001; rowIndex++)
{
row = sheet1.CreateRow(rowIndex);
for (int colIndex = 0; colIndex < dgExcel.Columns.Count; colIndex++)
{
cell = row.CreateCell(colIndex);
if (rowIndex == 0)
cell.SetCellValue(dgExcel.Columns[colIndex].HeaderText);
else
cell.SetCellValue(dgExcel[colIndex, rows].Value.ToString());
}
if (rowIndex != 0)
rows += 1;
if (rows == rowt + 1)
break;
}
}
...全文

相关推荐

C# NPOI导出Excel,Words转PDF

首先,让我们关注C# NPOI导出Excel的部分。NPOI提供了API,使得开发者可以轻松地创建、读取和修改Excel工作簿。通过使用NPOI,你可以创建新的工作表、填充数据、设置格式、应用公式等。

guoge1118.

NPOI实战指南:C#/.NET高效读写Excel,绕过COM依赖

在工业上位机与业务系统开发中,Excel操作是高频需求,但传统Office COM组件在服务器部署时常遇到权限、版本冲突等问题。NPOI作为Apache POI的.NET移植版,以纯托管方式直接读写内存中的Workbook,无需安装Office,同时兼容.xls与.xlsx格式,支持公式、样式、合并单元格等复杂特性。基于NPOI,开发者可以快速实现报表导出、数据批量导入、模板填充等典型C#/.NET工程场景。本文从基础读写出发,逐步讲解样式设置、DataTable转换、模板占位符替换等实战技巧,并总结行数限

weixin_34319817

C#操作Excel必备:NPOI库从安装到实战完整指南(附常见报错处理)

本文提供了C#操作Excel的NPOI库从安装到实战的完整指南。详细介绍了环境配置、核心对象模型、数据读写实战,并重点剖析了常见的异常报错及其解决方案,帮助开发者高效、稳定地处理Excel文件,规避常见开发陷阱。

鬼游

Winform中通过NPOI导出Excel的三种方式HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook示例代码.zip

本示例将详细介绍在WinForm应用中使用NPOI导出Excel的三种主要方式:HSSFWorkbook、XSSFWorkbook和SXSSFWorkbook。1.

霸道流氓气质

NPOI导入导出Excel源文件,自己整理的,非常好用

**使用注意事项** - 文件路径应正确无误,避免出现IOException。 - 对于大型Excel文件,应考虑分批读取或使用内存效率更高的流式处理,以防止内存溢出。

yaoliang02003
评论 16
收藏 已收藏
分享
返回顶部
丶莫问
C# 111,128 成员 642,536 内容