码迷,mamicode.com
首页 > Windows程序 > 详细

c#NPOI导出2007版本excel

时间:2017-11-08 20:02:15      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:work   ges   style   pre   使用   技术   问题   ima   public   

技术分享

 

2003和2007版本区别:

HSSFWorkbook(2003)

IWorkbook(2007版本)

写完之后会有个问题,导出会报错【流已关闭】。

NPOI生产.xlsx文件件时,在使用book.Write(ms);后,会关闭流,这样导致再次使用Respons输出流的时候就出错了。

我看到一些网友提供的解决办法是:

 

public class NPOIMemoryStream:MemoryStream
    {
        /// <summary>
        /// 获取流是否关闭
        /// </summary>
        public bool IsColse
        {
            get;
            private set;
        }

        public NPOIMemoryStream(bool colse=false)
        {
            IsColse = colse;
        }

        public override void Close()
        {
            if (IsColse)
            {
                base.Close();
            }
            
        }
    }

使用自定义流代替内存流,这样就可以保证流不会被自定关闭了

 

c#NPOI导出2007版本excel

标签:work   ges   style   pre   使用   技术   问题   ima   public   

原文地址:http://www.cnblogs.com/codeDevotee/p/7805482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!