在servlet中的list在excel输出!!

/*要加入poi包才能成功*/


  /***************生成excel文档***************************/

  HSSFWorkbook  workbook    = new HSSFWorkbook();
  HSSFSheet   sheet      = workbook.createSheet();

  HSSFCellStyle   mainstyle   = workbook.createCellStyle();   
  HSSFCellStyle   titlestyle  = workbook.createCellStyle();
  HSSFCellStyle   cellstyle  = workbook.createCellStyle();

   
  HSSFFont   mainfont    = workbook.createFont(); 
  HSSFFont   titlefont   = workbook.createFont();  
  HSSFFont   cellfont    = workbook.createFont(); 

  mainfont.setFontHeightInPoints((short) 12);
  mainfont.setFontName("隶书");  
  titlefont.setFontHeightInPoints((short) 12);
  titlefont.setFontName("华文新魏");
  cellfont.setFontHeightInPoints((short) 9); 
  cellfont.setFontName("宋体");

  workbook.setSheetName(0, "会议室信息",HSSFWorkbook.ENCODING_UTF_16);//设置生成excel文件中新sheet的名称
//设置execl显示样式
  mainstyle.setFont(mainfont);

  titlestyle.setFont(titlefont);
  titlestyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
  titlestyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
  titlestyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
  titlestyle.setBorderRight(HSSFCellStyle.BORDER_THIN);

  cellstyle.setFont(cellfont); 

  cellstyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
  cellstyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
  cellstyle.setBorderRight(HSSFCellStyle.BORDER_THIN);   
  cellstyle.setWrapText(true);
  cellstyle.setFont(cellfont);
  mainstyle.setFont(mainfont);

  HSSFRow row   = null;
  HSSFCell cell = null;

  


  int rownum   = 3 + userId.size();
  int cellnum  = 3;

 

  for (short i = 0; i < rownum; i++){
   row = sheet.createRow(i);
 
   for (short j = 0; j < cellnum ; j++){
    cell = row.createCell(j);
  
    cell.setEncoding(HSSFCell.ENCODING_UTF_16);//设置行中每一列项的编码方式
    if(i == 2) cell.setCellStyle(titlestyle);
    if( i > 2) cell.setCellStyle(cellstyle);
     sheet.setColumnWidth(j,(short)(3000*2)); 
    }
  }
//设置制表时间题行

  cell = sheet.getRow(0).getCell((short)(cellnum/2));
  cell.setCellValue( "员工注册信息");
  cell.setCellStyle(mainstyle);

  cell = sheet.getRow(1).getCell((short)(cellnum/2-1));
  cell.setCellValue("" );
  String script ="制表时间:" + DateFormat.getDateInstance().format( new Date()) ;

  cell = sheet.getRow(1).getCell((short)(cellnum-3));
  cell.setCellValue(script); 
//设置标题行

  row = sheet.getRow(2); 
  row.getCell((short)0).setCellValue("员工代号");
  row.getCell((short)1).setCellValue("注册密码");   
  row.getCell((short)2).setCellValue("员工姓名");
//循环输出信息列表(全部信息,链表中的信息)
  for(int k=0; k< userId.size();k++){
 
   row = sheet.getRow(3+k);
   row.getCell((short)0).setCellValue((String)userId.get(k));
   row.getCell((short)1).setCellValue((String)userPwd.get(k));

  }


  javax.servlet.ServletOutputStream servletoutputstream = response.getOutputStream();


  response.setHeader("Content-disposition","attachment; filename=" + new String(("员工信息表.xls").getBytes("gb2312"),"iso8859-1"));   
  response.setDateHeader("Expires", 0);
  response.setContentType("application/vnd.ms-excel;charset=GBK");

  workbook.write(servletoutputstream);
  servletoutputstream.flush();
 }
 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值