JAVA > POI


poiを使用したサンプル

   /**
   * poiを使用したサンプル
   */
   protected boolean poiSample() {
       //Excelのワークブックを読み込みます。
       POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream("C:/temp.xls"));
       HSSFWorkbook book = new HSSFWorkbook(filein);
       //シートを読み込みます。
       HSSFSheet sheet = book.getSheet("sheet1");
       //セルの値を取得
       for (int i = ROW_START; i <= sheet.getLastRowNum(); i++) {
           HSSFRow row = sheet.getRow(i);
           if(row == null){
               break;
           }
           //データ取得
           String cell_1 = getCellValue(row.getCell(1), true);
           String cell_2 = getCellValue(row.getCell(2), false);
       }
   }

セルの値を取得するサンプル

   /**
    * セルの値を取得.
    * @param cell
    * @param trim_flg
    * @return
    */
   public static String getCellValue(HSSFCell cell, boolean trim_flg ){
       int cell_typ = cell.getCellType();
       String ret = "";
       //空白
       if(cell_typ == HSSFCell.CELL_TYPE_BLANK){
           ret = cell.getStringCellValue();
       }
       //TODO:Boolean型?
       else if(cell_typ == HSSFCell.CELL_TYPE_BOOLEAN ){
           ret = cell.getStringCellValue();
       }
       //TODO:エラーコード?
       else if(cell_typ == HSSFCell.CELL_TYPE_ERROR ){
           ret = cell.getStringCellValue();
       }
       //TODO:計算式?
       else if(cell_typ == HSSFCell.CELL_TYPE_FORMULA ){
           String tmp = String.valueOf(cell.getNumericCellValue());
           if("NaN".equals(tmp)){
               ret = cell.getStringCellValue();
           }
           else{
               ret = delScale(tmp);
           }
       }
       //数値型
       else if(cell_typ == HSSFCell.CELL_TYPE_NUMERIC ){
           ret = delScale(String.valueOf(cell.getNumericCellValue()));
       }
       //文字列型
       else if(cell_typ == HSSFCell.CELL_TYPE_STRING ){
           ret = cell.getStringCellValue();
       }
       
       if(trim_flg){
           if(ret.length() != 1){
               ret = ret.trim();
           }
       }
       return ret;
   }
名前:
コメント:
最終更新:2008年06月24日 18:33