c#NPOI导出2007版本excel

 

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

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

 

相关文章:

  • 2022-01-31
  • 2021-10-15
  • 2018-05-08
  • 2021-10-18
  • 2021-06-09
猜你喜欢
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2021-06-27
  • 2021-08-04
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案