| 利用java操作Excel文件        很久以來都想研究一下利用java操作Excel的方法,今天沒事,就稍微了解了一下,特總結(jié)一下。利用java操作Excel,有個開源的東東-jxl.jar,可以到http:///project/showfiles.php?group_id=79926下載。 一.讀取Excel文件內(nèi)容 
java 代碼 
         public static String readExcel(File file){       StringBuffer sb = new StringBuffer();              Workbook wb = null;       try {                     wb=Workbook.getWorkbook(file);       } catch (BiffException e) {           e.printStackTrace();       } catch (IOException e) {           e.printStackTrace();       }              if(wb==null)           return null;                    Sheet[] sheet = wb.getSheets();              if(sheet!=null&&sheet.length>0){                     for(int i=0;i                          int rowNum = sheet[i].getRows();               for(int j=0;j                                  Cell[] cells = sheet[i].getRow(j);                   if(cells!=null&&cells.length>0){                                             for(int k=0;k                                                  String cellValue = cells[k].getContents();                           sb.append(cellValue+"\t");                       }                   }                   sb.append("\r\n");               }               sb.append("\r\n");           }       }             wb.close();       return sb.toString();   }   二.寫入Excel文件 
這里有很多格式了,比如文本內(nèi)容加粗,加上某些顏色等,可以參考jxl的api,同時還推薦一篇不錯的文章:http://www.ibm.com/developerworks/cn/java/l-javaExcel/?ca=j-t10 java 代碼 
            public static void writeExcel(String fileName){           WritableWorkbook wwb = null;           try {                             wwb = Workbook.createWorkbook(new File(fileName));           } catch (IOException e) {               e.printStackTrace();           }           if(wwb!=null){                                           WritableSheet ws = wwb.createSheet("sheet1", 0);                                            for(int i=0;i<10;i++){                   for(int j=0;j<5;j++){                                             Label labelC = new Label(j, i, "這是第"+(i+1)+"行,第"+(j+1)+"列");                       try {                                                     ws.addCell(labelC);                       } catch (RowsExceededException e) {                           e.printStackTrace();                       } catch (WriteException e) {                           e.printStackTrace();                       }                     }               }                 try {                                     wwb.write();                                     wwb.close();               } catch (IOException e) {                   e.printStackTrace();               } catch (WriteException e) {                   e.printStackTrace();               }           }       }    三.在一個Excel文件中查找是否包含某一個關鍵字 java 代碼 
              public static boolean searchKeyWord(File file,String keyWord){           boolean res = false;                      Workbook wb = null;           try {                             wb=Workbook.getWorkbook(file);           } catch (BiffException e) {               return res;           } catch (IOException e) {               return res;           }                      if(wb==null)               return res;                                Sheet[] sheet = wb.getSheets();                      boolean breakSheet = false;                      if(sheet!=null&&sheet.length>0){                             for(int i=0;i                if(breakSheet)                       break;                                                        int rowNum = sheet[i].getRows();                                      boolean breakRow = false;                                      for(int j=0;j                    if(breakRow)                           break;                                             Cell[] cells = sheet[i].getRow(j);                       if(cells!=null&&cells.length>0){                           boolean breakCell = false;                                                     for(int k=0;k                            if(breakCell)                                   break;                                                             String cellValue = cells[k].getContents();                               if(cellValue==null)                                   continue;                               if(cellValue.contains(keyWord)){                                   res = true;                                   breakCell = true;                                   breakRow = true;                                   breakSheet = true;                               }                           }                       }                   }               }           }                     wb.close();                      return res;       }  
 |