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();
            }
            
        }
    }

 

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

 posted on 2016-12-23 16:20  Just_Do  阅读(2140)  评论(0编辑  收藏  举报