krot

ReadExcel XLS

Nov 3rd, 2017
102
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     function ReadExcel($fileName){
  2.             $exc = new ExcelFileParser ("log.txt", ABC_NO_LOG);
  3.             $res = $exc->ParseFromFile($fileName);//==0 успех
  4.             if($res>0)return false;
  5.                 $ws = $exc->worksheet['data'][0];
  6.                 if ( is_array($ws) && isset($ws['max_row']) && isset($ws['max_col']) ) {    // если рабочий лист не пустой
  7.         for( $i=0; $i<=$ws['max_row']; $i++ ) {// начало цикла по строкам
  8.            $iRow++;
  9.            if( isset($ws['cell'][$i]) && is_array($ws['cell'][$i]) ) {            // начало цикла по столбцам
  10.                 $row=array();
  11.                 for( $j=0; $j<=$ws['max_col']; $j++ )        {
  12.                     if( isset($ws['cell'][$i][$j]) ) {
  13.                         $data = $ws['cell'][$i][$j];
  14.                         $val='';
  15.                         switch ($data['type'])
  16.                         {
  17.                             case 0:// строка
  18.                                 $ind = $data['data'];
  19.                                 if( $exc->sst['unicode'][$ind] ) $s = uc2cp1251($exc->sst['data'][$ind]);
  20.                                 else        $s = $exc->sst['data'][$ind];
  21.                                 if( strlen(trim($s))==0 )   $val=''; else $val=$s;          break;
  22.                             //целое число
  23.                             case 1:
  24.                                 $val=(int)($data['data']);                                break;
  25.                             //вещественное число
  26.                             case 2:
  27.                                 $val=(float)($data['data']);                                break;
  28.                             default:
  29.                                 $val='';
  30.                                 break;
  31.                         }
  32.                     } else {
  33.                        $val='';
  34.                     }
  35.                     $row[]=$val;
  36.                 }
  37.                 //add product
  38.                 print_r($row);
  39.             }
  40.            
  41.            
  42.         }
  43.  
  44. }
  45.        
  46.         }
  47.     // конвертим в нужную кодировку
  48. function uc2cp1251($str) {
  49.     return iconv('UNICODELITTLE','utf-8',$str);
  50. }
RAW Paste Data