1 public class ExcelUtil {
 2     
 3     public static void fillExcelData(ResultSet rs,Workbook wb,String[] headers)throws Exception{
 4         int rowIndex=0;
 5         Sheet sheet=wb.createSheet();
 6         Row row=sheet.createRow(rowIndex++);
 7         for(int i=0;i<headers.length;i++){
 8             row.createCell(i).setCellValue(headers[i]);
 9         }
10         while(rs.next()){
11             row=sheet.createRow(rowIndex++);
12             for(int i=0;i<headers.length;i++){
13                 row.createCell(i).setCellValue(rs.getObject(i+1).toString());
14             }
15         }
16     }
17     
18     public static Workbook fillExcelDataWithTemplate(ResultSet rs,String templateFileName)throws Exception{
19         InputStream inp=ExcelUtil.class.getResourceAsStream("/template/"+templateFileName);
20         POIFSFileSystem fs=new POIFSFileSystem(inp);
21         Workbook wb=new HSSFWorkbook(fs);
22         Sheet sheet=wb.getSheetAt(0);
23         // ��ȡ����
24         int cellNums=sheet.getRow(0).getLastCellNum();
25         int rowIndex=1;
26         while(rs.next()){
27             Row row=sheet.createRow(rowIndex++);
28             for(int i=0;i<cellNums;i++){
29                 row.createCell(i).setCellValue(rs.getObject(i+1).toString());
30             }
31         }
32         return wb;
33     }
34     
35     public static String formatCell(HSSFCell hssfCell){
36         if(hssfCell==null){
37             return "";
38         }else{
39             if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
40                 return String.valueOf(hssfCell.getBooleanCellValue());
41             }else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
42                 return String.valueOf(hssfCell.getNumericCellValue());
43             }else{
44                 return String.valueOf(hssfCell.getStringCellValue());
45             }
46         }
47     }
48     
49     
50     public static String getCell(HSSFCell cell) {
51         DecimalFormat df = new DecimalFormat("#");
52         if (cell == null)
53             return "";
54         switch (cell.getCellType()) {
55         case HSSFCell.CELL_TYPE_NUMERIC:
56             if(HSSFDateUtil.isCellDateFormatted(cell)){
57                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
58                 return sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())).toString();
59             }
60             return df.format(cell.getNumericCellValue());
61         case HSSFCell.CELL_TYPE_STRING:
62             System.out.println(cell.getStringCellValue());
63             return cell.getStringCellValue();
64         case HSSFCell.CELL_TYPE_FORMULA:
65             return cell.getCellFormula();
66         case HSSFCell.CELL_TYPE_BLANK:
67             return "";
68         case HSSFCell.CELL_TYPE_BOOLEAN:
69             return cell.getBooleanCellValue() + "";
70         case HSSFCell.CELL_TYPE_ERROR:
71             return cell.getErrorCellValue() + "";
72         }
73         return "";
74     }
75     /*public static String formateDate(HSSFWorkbook wb,HSSFCell hssfCell){
76         //HSSFWorkbook wb = new HSSFWorkbook();  
77         CreationHelper createHelper=wb.getCreationHelper();
78         HSSFCellStyle cellStyle = wb.createCellStyle();  
79         cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyyy-mm-dd hh:mm:ss"));
80         //HSSFSheet sheet = wb.createSheet("format sheet");  
81         //HSSFDataFormat format = wb.createDataFormat();  
82         //HSSFRow row = sheet.createRow(0);  
83         //HSSFCell cell = row.createCell(0);  
84         //cell = row.getCell(2);
85         hssfCell.setCellValue(formatCell(hssfCell));
86         hssfCell.setCellStyle(cellStyle);  
87         return hssfCell.getStringCellValue();
88     }
89 */    
90 }

 

posted on 2016-08-07 23:18  Sharpest  阅读(327)  评论(0编辑  收藏  举报