当前位置:编程学习 > C#/ASP.NET >>

关于NPOI读取文档内存占用过大的情况

当我用NPOI加载Excel文件的时候,Release版本的程序

读取一个20M的文件内存竟然占到了1.5G左右,想请教一下各位有没有内存调优的好方式 内存 Excel NPOI --------------------编程问答-------------------- 你确定是NPOI导致的? --------------------编程问答-------------------- 我分析是这样的,因为我这个程序没干别的就是加载一个excel,然后读取
代码如下

using (FileStream fs = File.OpenRead(m_dataFileName[i]))
{
    IWorkbook workbook = WorkbookFactory.Create(fs);
    ISheet sheet = workbook.GetSheetAt(1);
    ........
}


当执行到这的时候,内存就飙升,最后从12M增加到1.5G --------------------编程问答--------------------
引用 2 楼 ade1986 的回复:
我分析是这样的,因为我这个程序没干别的就是加载一个excel,然后读取
代码如下

using (FileStream fs = File.OpenRead(m_dataFileName[i]))
{
    IWorkbook workbook = WorkbookFactory.Create(fs);
    ISheet sheet = workbook.GetSheetAt(1);
    ........
}


当执行到这的时候,内存就飙升,最后从12M增加到1.5G


因为我这个是循环读取Excel,所以现在我在每次循环最后把workbook和worksheet变量置空,然后通过GC回收
峰值降到了700多M,还是不能理解啊,20M的Excel读出来内存占用100多M是不是就可以了,我现在就怕读再大的文档又会报OutOfMemory的错误了,还请各位大神指点迷津 --------------------编程问答-------------------- CSDN越来越扯了,都没人关注内存的使用的么 --------------------编程问答-------------------- 无图无易做图啊。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,