平时写导出的时候一般都是让客户自己去下载到客户端得,而不是我们自己写的文件的位置下载到服务器上,所以在这里写个简单的记录,以方便自己以后用的到。
导入导出的话请求参数需要加上request和response两个参数的。
上面都是数据的处理
//输出Excel文件 ByteArrayOutputStream os = new ByteArrayOutputStream(); wb.write(os);
byte[] content = os.toByteArray(); InputStream is = new ByteArrayInputStream(content); response.reset(); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setHeader("Content-disposition", "attachment; filename=temp.xls"); // 设置response参数,可以打开下载页面 ServletOutputStream out = response.getOutputStream(); BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(is); bos = new BufferedOutputStream(out); byte[] buff = new byte[2048]; int bytesRead; // Simple read/write loop. while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { bos.write(buff, 0, bytesRead); } } catch (final IOException e) { throw e; } finally { if (bis != null) { bis.close(); } if (bos != null) { bos.close(); } }