jsp页面以excel导出数据的方法(jxl包)

  以下方式能够实现:弹出保存/打开excel的对话框,然后直接打开或输入路径再保存;

  //首先获取response

  // 然后取得输出流 ,会将创建的excel输出至该输出流对应的jsp页面  

   OutputStream os = response.getOutputStream();

  //下面的代码作用我也不是特别清楚,貌似是清除缓存,避免下载出错

  response.reset();

   response.setHeader("Content-disposition", "attachment; filename="+new String("Book1".getBytes("GB2312"),"8859_1")+".xls");// 设定输出文件头   

  // 定义输出类型 

  response.setContentType("application/msexcel");  

  // 建立excel文件       

  WritableWorkbook wwb = Workbook.createWorkbook(os); 

  // 创建一个工作表 “Sheet1”是表名,10是第几页

  WritableSheet ws = wwb.createSheet("Sheet1", 10);        

   // 设置单元格的文字格式
      WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,
                     UnderlineStyle.NO_UNDERLINE,Colour.BLUE);

  //创建样式
    WritableCellFormat wcf = new WritableCellFormat(wf);
    wcf.setVerticalAlignment(VerticalAlignment.CENTRE); //设置垂直居中
    wcf.setAlignment(Alignment.CENTRE); //设置水平居中
    ws.setRowView(0, 500); //设置行高  注意 这里500不是excel内的单位

  //添加行数据 4各参数的含义:第j行,第0+1列 ,写入单元格内的数据,使用的样式(可没有)

   ws.addCell(new Label(j, 0, excelNameArray[j], wcf));

   wwb.write();
    wwb.close();

--------------------------------------------------------------------------------------------------------------------------------------------

  OVER!

posted @ 2016-10-25 20:30  Tanght  阅读(1821)  评论(0编辑  收藏  举报