今天用struts做jxl导出为excel文件时,报出个异常,但是文件还是导出成功了.百思不得其解,就google了下,找到了一下两种方式:
1.
out.clear();
out = pageContext.pushBody();
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了