Калькулятор на основе екселя

 Джаваскрипт  знаю неплохо, проблем с  работой калькулятора со стороны клиента не  было, а вот как ексель читать-первый раз столкулся.Оказывается предельно просто
1)качаешь отсюда http://phpexcel.codeplex.com/ библиотеку
2)установка  это банальное подключение в скрипте php
require_once 'Classes/PHPExcel.php';
require_once 'Classes/PHPExcel/IOFactory.php';
со всего скаченого  мне понадобилось только папка Classes
3)все читаем ексель как простую таблицу

$url_xls="xlsx/sobol.xls";
$objPHPExcel = PHPExcel_IOFactory::load($url_xls);
$array=array();
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)
{
    $highestRow         = $worksheet->getHighestRow(); // например, 10
    $highestColumn      = $worksheet->getHighestColumn(); // например, 'F'
    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
    for($row=1;$row<=$highestRow;$row++)
    { $cell = $worksheet->getCellByColumnAndRow(0, $row);
        $val = $cell->getValue();
        $m=str_replace(" ","",$val);
        if($m==$model)
        {for ($col = 0; $col < $highestColumnIndex; ++ $col)
          {$cell = $worksheet->getCellByColumnAndRow($col, $row);
           $val = $cell->getValue();
            $array[$row][$col]=$val;
          }
        }
    }
}

4)после этого информацию  браузеру я отправлял в виде объекта джонсон

$json=json_encode($array);
echo $json ;

вот результат
http://aleks.hol.es/cacl_avto/

с джаваскрипта для стилизации селектов использовал selectric https://github.com/lcdsantos/jQuery-Selectric
пишет что поддерживает IE7 и выше ..но у меня не работало в IE8, пришлось  там отключать

if(version_IE()!=="IE8"){select.selectric();}

а вот функция  для определения

function version_IE(){
    var uagent = navigator.userAgent;
    uagent = uagent.indexOf("MSIE");
    // Если uagent не равен (-1) ie будет true
    if(uagent != -1){
        var ie = true;
        //  Создаем переменную vers, помещаем в нее значение строки navigator.userAgent
        var vers = navigator.userAgent;
        vers = vers.substr(uagent + 5, 2); //(!) коммент под примером
        vers = parseInt(vers); // Преобразуем в целое число
    };
    // Теперь выполним проверку, вызываем соответствующий alert
    if(ie){
        return ("IE" + vers);
    } else {
        return false;
    };
}

Комментариев нет :

Отправить комментарий