workbook对象需要关闭_XSSFWorkbook对象 进行zip打包时 用write资源流自动关闭处理办法...
xssfworkbook对象的write方法内会将传入的资源流自动关闭 导致下载excel失败
错误代码
outputstream out = response.getoutputstream();
zipoutputstream zos = new zipoutputstream(out);
xssfworkbook workbook = new xssfworkbook();
// 将文件写入zip内,即将文件进行打包
zos.putnextentry(new zipentry(filename + "(" + uuid.randomuuid() + ")." + typename));
// 此处将自动关闭zos资源
workbook.wirte(zos);
解决方法: 将xssfworkbook转换成bytearrayoutputstream,用bytearrayoutputstream对象将流写入zip对象中
outputstream out = response.getoutputstream();
zipoutputstream zos = new zipoutputstream(out);
xssfworkbook workbook = new xssfworkbook();
// 将文件写入zip内,即将文件进行打包
zos.putnextentry(new zipentry(filename + "(" + uuid.randomuuid() + ")." + typename));
bytearrayoutputstream bos = new bytearrayoutputstream();
workbook.write(bos);
bos.writeto(zos);
zos.closeentry();
// 当所有文件打包完成后关闭zos资源
zos.close();
希望与广大网友互动??
点此进行留言吧!
workbook对象需要关闭_XSSFWorkbook对象 进行zip打包时 用write资源流自动关闭处理办法...相关推荐
- 应用程序对象正在关闭_Windows核心编程-内核对象
概念:内核对象可以供系统和应用程序使用来管理各种各样的资源,Windows程序员可以调用Windows API去创建.打开和操作各种内核对象.常见的内核对象有:访问令牌.事件对象.文件对象.文件映射对 ...
- .NET : 一定不要忘记关闭DataReader对象
今天早上处理一个紧急的客户反应问题,这是去年开发的一套绩效考核系统.他们现在集团在推广使用,用户数多起来之后就发现某个页面响应速度非常慢,甚至会报告错误,无法完成操作. 经过检查,发现有一个方法用到了 ...
- java对象生命周期_Java对象生命周期和类生命周期
原标题:Java对象生命周期和类生命周期 作者:彭空空 链接:https://www.jianshu.com/p/25ea857ba78b 导读 对象的生命周期 类的加载机制 类的生命周期 类加载器 ...
- ad09只在一定范围内查找相似对象_dxp查找相似对象
(Edit→Find Similar Objects)=Shif+F 查找 相似对象 E+O+S(Edit→Origin→Set)设置坐标原点 E+S+N((Edit → Select → Net) ...
- JS-图片其他事件-Event对象-事件委托-DOM对象
JS-图片其他事件-Event对象-事件委托-DOM对象 1 回顾 1. 事件回调函数中 this 的指向2. 鼠标事件click dblclick contextmenumouseenter mou ...
- 前端:JS/24/BOM和DOM简介,for...in循环遍历,window对象的属性和方法,延时器,定时器,screen屏幕对象,location地址栏对象,history历史记录对象
BOM 和DOM简介 BOM ,Browser Object Model ,浏览器对象模型: BOM主要提供了访问和操作浏览器各组件的方式: 浏览器组件:window(浏览器容器), location ...
- java 九大内置对象_JSP九大内置对象(隐式对象)
一.JSP内置对象简介 JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象. 开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. 1.JSP内置对象 ...
- c++ 返回空对象_python中file对象的常用方法
open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError.(使用 open() 方法 ...
- js(JavaScript):面向对象,Document对象:查找元素对象,修改元素,事件
面向对象编程 面向对象的编程,那么是更符合人类所接触的世界的逻辑思维. 将一个系统划分为各个子系统,子系统又由各个模块构成,将每个模块,系统划分为一个个对象,给这些对象赋予某些角色(属性/功能/方法) ...
最新文章
- Spark的transformation和action算子简介
- YZMCMS V5.3后台 SSRF
- 一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)
- php curl安装检查,如何判断php的curl是否已安装
- 7. Adapter
- 前端学习(594):network面板
- java Set无序集合 HashSet 的对象元素唯一性
- 去哪儿-19-detail-ajax
- 快手2021年营收810亿元 经调整净亏损188亿元
- CodeForces 622A--F - Infinite Sequence
- shell整理(34)===date 命令的小脚本
- edittext 点击区域外隐藏输入法
- linux文件映射mmap
- 内网渗透之信息收集(更新中)
- html5+ mui框架 微信授权登录无响应,不回跳APP
- 知乎App加密流量分析初探
- 图像语义分割python_图像语义分割 —利用Deeplab v3+训练VOC2012数据集
- 不想将就,所以竭尽所能。
- xshell进入桌面_xshell中启动linux图形界面
- java如何创建一个文本框_如何创建绑定到对象的文本框
热门文章
- windows7 删除hiberfil.sys文件的方法
- PHP5.3.8 + Mysql5.5.18 + Nginx1.1.8 安装使用感受
- 实现三元组表示的两个稀疏矩阵的加法_K-BERT | 基于知识图谱的语言表示模型
- python pca降维_机器学习的降维打击
- 成为中国特色项目经理,走上人生巅峰
- label qt 自动换行_QT编写一个登录界面
- Java bitset转string_将java BitSet保存到DB
- 字符串矩阵转换成长字符串_字符串矩阵
- kotlin 类和对象_Kotlin程序| 类和对象的示例(带有学生数据)
- 哪个计算机无法做到双屏显示,怎么启用双屏显示设置【图文介绍】