excel文件導出


public class JcfxExcelView extends AbstractExcelView{

    
    @SuppressWarnings("unchecked")
    @Override
    protected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook,
        HttpServletRequest request, HttpServletResponse response)throws Exception {
        
        String excelName = "交叉分析結果.xls";
        // 設置response方式,使執行此controller時候自動出現下載頁面,而非直接使用excel打開
        response.setContentType("APPLICATION/OCTET-STREAM");
        response.setHeader("Content-Disposition", "attachment; filename="+ new String(excelName.getBytes("GBK"),"ISO8859-1"));    
        
        List<student> xxx =  (List<student>) model.get("xxx");
        List<student> yyy =  (List<student>) model.get("yyy");
        List<teacher> values =  (List<teacher>) model.get("values");
        
        //create a wordsheet
        HSSFSheet sheet = workbook.createSheet("交叉分析結果");
        
        HSSFRow header = sheet.createRow(0);
        for(int i=1;i<=yyy.size();i++){
            header.createCell(i).setCellValue(yyy.get(i-1).getstudentcontent());
        }
        HSSFCellStyle cellStyle = workbook.createCellStyle();
        cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("yyyy-mm-dd"));
        cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中   
        cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
        //設置背景色
        //cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());  
        //cellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
        
        int rowNum = 1;
        for (int i=0;i<xxx.size();i++) {
            HSSFRow row = sheet.createRow(rowNum++);
            row.createCell(0).setCellValue(xxx.get(i).getstudentcontent());
            for(int j=1;j<=yyy.size();j++){
                row.createCell(j).setCellValue(values.get(i).getYstudentCount().get(j-1));
            }
         }
    }
   

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章