/**
* 导出excel表格
* 1.sqlId
* 2.文件名
* 3.文件工作表名
* 4.工作表的标题
*/
String sqlId = "Department_Select_One";
String fileName = "testXls";
String workSheet = "List";
String[] title = {"编号","名称","地址"};
System.out.println("开始了----------------");
//创建excel工作薄
WritableWorkbook workBook = null;
try{
/**
* 创建输出缓存
*/
ByteArrayOutputStream cacheStream = new ByteArrayOutputStream();
workBook = jxl.Workbook.createWorkbook(cacheStream);
//创造第一个工作表
WritableSheet sheet = workBook.createSheet("mySheet1", 0);
//拿到要导出的数据
List maps = BaseDao.getObj(sqlId);
for(int j=0;j<maps.size();j++){
Map map = (Map)maps.get(j);
for(int i=0;i<title.length;i++){
//创建每行的数据 列 行 值
Label label1 = new Label(j,0,map.get("DEPTNO").toString());
Label label2 = new Label(j,1,map.get("DNAME").toString());
Label label3 = new Label(j,2,map.get("LOC").toString());
sheet.addCell(label1);
sheet.addCell(label2);
sheet.addCell(label3);
}
}
workBook.write();
workBook.close();
javax.servlet.ServletOutputStream outputStream = null;
String strFileName = new String(fileName.getBytes("gb2312"), "iso-8859-1");
response.reset();
response.setContentType("application/x-download");
// if (request.getHeader("User-Agent").indexOf("MSIE 5.5") != -1) { ... IE5.5不能加上 attachment;
response.setHeader("Content-Disposition", "attachment; filename=/"" + strFileName+".xls" + "/"");
byte[] buffer = cacheStream.toByteArray();
int length = buffer.length;
outputStream = response.getOutputStream();
outputStream.write(buffer, 0, length);
outputStream.flush();
outputStream.close();
response.setStatus(HttpServletResponse.SC_OK);
response.flushBuffer();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("结束了----------------");
--以上是在网络中导出
--注意:在本地上导出的时候用的流不一样OutputStream