`
lmzxx520
  • 浏览: 14461 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

getOutputStream() has already been called

阅读更多

今天用struts做jxl导出为excel文件时,报出个异常,但是文件还是导出成功了.百思不得其解,就google了下,找到了一下两种方式:

1.

out.clear();
out = pageContext.pushBody();

 
在使用完输出流后加上这样两句,但是我用的是以下方式:

 	jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream());
        	jxl.write.WritableSheet ws = wwb.createSheet(sheetName, 0);

        	//xls 格式
        	jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,
                10, WritableFont.NO_BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE,
                jxl.format.Colour.BLACK);
        	jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);

        	//xls 格式
        	jxl.write.WritableFont ww = new jxl.write.WritableFont(WritableFont.TAHOMA, 11, WritableFont.BOLD, false, jxl.format.UnderlineStyle.NO_UNDERLINE);
        	jxl.write.WritableCellFormat wwf = new jxl.write.WritableCellFormat(ww);
        	List<String> list = new ArrayList<String>();    //title

 

根本的得不到out对象,问题的关键是out对象调用的response.getWriter()和response.getOutputStream()相冲突

2.最简单的一个解决办法不要返回ActionForward对象,return null就ok了

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics