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

造成关闭流的主要原因有时其实是跨域,同域是没有问题的。

//新建类 重写Npoi流方法
public class NpoiMemoryStream : MemoryStream{public NpoiMemoryStream(){AllowClose = true;}public bool AllowClose { get; set; }public override void Close(){if (AllowClose)base.Close();}
}
//导出Excel文件的方法
var ms = new NpoiMemoryStream();
ms.AllowClose = false;
workbook.Write(ms);
ms.Flush();
ms.Seek(0, SeekOrigin.Begin);
ms.AllowClose = true;HttpContext curContext = HttpContext.Current;
curContext.Response.ContentType = "application/vnd.ms-excel";
curContext.Response.ContentEncoding = Encoding.UTF8;
curContext.Response.Charset = "";
curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8));
long fileSize = ms.Length;
curContext.Response.AddHeader("Content-Length", fileSize.ToString());
curContext.Response.BinaryWrite(ms.GetBuffer());
curContext.Response.End();

原文:https://blog.csdn.net/eit520/article/details/53231642

转载于:https://www.cnblogs.com/shy1766IT/p/11074548.html

Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流相关推荐

  1. JAVA Web项目中所出现错误及解决方式合集(不断更新中)

    JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...

  2. web项目-Excel文件导出

    跳坑留下的伤疤都是我们程序员最好的勋章. 文件导出是在web项目中常用的功能之一.在这里我也谈一下本人的拙见. 此次我遇到的是从easyUI框架中查询数据的导出,当然,不管框架怎么变,万变不离其宗,导 ...

  3. maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...

    标签: 本篇内容还是建立在上一篇Java Web学习系列--Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Ja ...

  4. 在java web项目中编写自己的代码生成器

    在java web项目中编写自己的代码生成器 转载于:https://www.cnblogs.com/punisher/p/5909943.html

  5. 在web项目中发布jaxws

    概述 在web项目中发布基于jaxws的webservice. 参考文章:用JAX-WS在Tomcat中发布WebService 参考文章说,如果不是servlet3.0及以上,需要配置servlet ...

  6. Web项目中引进EasyUI的路径问题

    场景 Web项目中引入EasyUI,新建test.html,页面中引入EasyUI相关资源文件. 运行后页面并没有改变,打开检查提示404找不到资源. 实现 项目路径为: 路径引用错误: test.h ...

  7. 由web项目中上传图片所引出的路径问题

    我在做javaweb项目的时候,有个项目中需要进行图片的上传,有次我重新部署项目后,发现之前上传的图片不见了,最后找出原因:图片上传在服务器目录上,而不是绝对路径,所以特别想弄清楚javaweb项目中 ...

  8. maven web项目中的web.xml的版本如何更改

    maven web项目中的web.xml的版本如何更改 问题 因web.xml的版本太低不支持el表达式的问题(maven3.6版本通过底层的maven web插件生成的最终的web.xml文件版本只 ...

  9. 在java web项目中实现随项目启动的额外操作

    前言 在web项目中经常会遇到在项目启动初始,会要求做一些逻辑的实现,比如实现一个消息推送服务,实现不同类型数据同步的回调操作初始化,或则通知其他客户服务器本项目即将启动,等等.对于这种要求,目前个人 ...

最新文章

  1. 还在纠结垃圾分类问题?带你用Python感受ImageNet冠军模型SENet的强大
  2. dom对html增删改操作,6.DOM对HTML元素的增删改操作
  3. (流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)\金融,时序处理最佳实践
  4. 网站优化如何才能避免无效收录?
  5. combobox 取消记忆功能_南京长江大桥桥头堡空间改造设计,记忆与纪念的共鸣
  6. 【转载】SSD 下的 MySQL IO 优化
  7. 计算机应用 范文,计算机应用基础(范文).doc
  8. zabbix mysql设置中文乱码_解决zabbix监控因php问题导致图形界面中文乱码方法
  9. 萧县机器人_全国总决赛第一名!萧县杨楼的这位学生厉害了
  10. Hands-on Lab (6) - 配置Gogs的Webhook
  11. linux 装gcc组件,linux下安装redis组件报错-gcc报错
  12. 施耐德plc地址对应modbus_第446期丨PLC与HMI脚本数据类型交换;继电器触点烧死问题原因分析...
  13. 计算机主机内部防尘装置,一种计算机主机用防尘装置制造方法及图纸
  14. python抽奖游戏、某商场为了促销_详解python--模拟轮盘抽奖游戏
  15. 编译内核使tilera支持网桥和netfilter功能
  16. StringBuilder和StringBuffer的效率比较
  17. 餐馆管理系统程序流程图_这个交付应用程序使您最喜欢的中国餐馆保持活力
  18. 进阶篇:4.1)DFA设计指南:简化产品设计(kiss原则)
  19. mysql 规则引擎_为什么要用规则引擎?
  20. 疲劳测试分析软件,直接使用材料疲劳试验数据进行疲劳分析

热门文章

  1. 如何在linux程序中捕获异常信号
  2. Nand Flash与Nor Flash
  3. excel的快捷键ctrl+;无效
  4. phpStorm注册码
  5. 数据结构栈和队列_使您的列表更上一层楼:链接列表和队列数据结构
  6. power-bi_在Power BI中的VertiPaq内-压缩成功!
  7. 生成高分辨率pdf_用于高分辨率图像合成的生成变分自编码器
  8. 你有可能错过的东西:IIS7 ULR-Rewrite已经成为正式版本
  9. 看奥运之一:实力是最重要的
  10. 使用函数实现数据大小端转换