Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流
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) 导出出现无法访问已关闭的流相关推荐
- JAVA Web项目中所出现错误及解决方式合集(不断更新中)
JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...
- web项目-Excel文件导出
跳坑留下的伤疤都是我们程序员最好的勋章. 文件导出是在web项目中常用的功能之一.在这里我也谈一下本人的拙见. 此次我遇到的是从easyUI框架中查询数据的导出,当然,不管框架怎么变,万变不离其宗,导 ...
- maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...
标签: 本篇内容还是建立在上一篇Java Web学习系列--Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Ja ...
- 在java web项目中编写自己的代码生成器
在java web项目中编写自己的代码生成器 转载于:https://www.cnblogs.com/punisher/p/5909943.html
- 在web项目中发布jaxws
概述 在web项目中发布基于jaxws的webservice. 参考文章:用JAX-WS在Tomcat中发布WebService 参考文章说,如果不是servlet3.0及以上,需要配置servlet ...
- Web项目中引进EasyUI的路径问题
场景 Web项目中引入EasyUI,新建test.html,页面中引入EasyUI相关资源文件. 运行后页面并没有改变,打开检查提示404找不到资源. 实现 项目路径为: 路径引用错误: test.h ...
- 由web项目中上传图片所引出的路径问题
我在做javaweb项目的时候,有个项目中需要进行图片的上传,有次我重新部署项目后,发现之前上传的图片不见了,最后找出原因:图片上传在服务器目录上,而不是绝对路径,所以特别想弄清楚javaweb项目中 ...
- maven web项目中的web.xml的版本如何更改
maven web项目中的web.xml的版本如何更改 问题 因web.xml的版本太低不支持el表达式的问题(maven3.6版本通过底层的maven web插件生成的最终的web.xml文件版本只 ...
- 在java web项目中实现随项目启动的额外操作
前言 在web项目中经常会遇到在项目启动初始,会要求做一些逻辑的实现,比如实现一个消息推送服务,实现不同类型数据同步的回调操作初始化,或则通知其他客户服务器本项目即将启动,等等.对于这种要求,目前个人 ...
最新文章
- 还在纠结垃圾分类问题?带你用Python感受ImageNet冠军模型SENet的强大
- dom对html增删改操作,6.DOM对HTML元素的增删改操作
- (流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)\金融,时序处理最佳实践
- 网站优化如何才能避免无效收录?
- combobox 取消记忆功能_南京长江大桥桥头堡空间改造设计,记忆与纪念的共鸣
- 【转载】SSD 下的 MySQL IO 优化
- 计算机应用 范文,计算机应用基础(范文).doc
- zabbix mysql设置中文乱码_解决zabbix监控因php问题导致图形界面中文乱码方法
- 萧县机器人_全国总决赛第一名!萧县杨楼的这位学生厉害了
- Hands-on Lab (6) - 配置Gogs的Webhook
- linux 装gcc组件,linux下安装redis组件报错-gcc报错
- 施耐德plc地址对应modbus_第446期丨PLC与HMI脚本数据类型交换;继电器触点烧死问题原因分析...
- 计算机主机内部防尘装置,一种计算机主机用防尘装置制造方法及图纸
- python抽奖游戏、某商场为了促销_详解python--模拟轮盘抽奖游戏
- 编译内核使tilera支持网桥和netfilter功能
- StringBuilder和StringBuffer的效率比较
- 餐馆管理系统程序流程图_这个交付应用程序使您最喜欢的中国餐馆保持活力
- 进阶篇:4.1)DFA设计指南:简化产品设计(kiss原则)
- mysql 规则引擎_为什么要用规则引擎?
- 疲劳测试分析软件,直接使用材料疲劳试验数据进行疲劳分析