public static function procesarMillon($resultados, $datos, $idArchivoTemporal) { //pone el copiar archivo copy ( string $source , string $dest [, resource $context ] ) // el excel que anda bien es el que esta en C:\development\sfprojects\psicotest\lib\phpexel\php\baby.xlsx $dir = sfConfig::get("sf_lib_dir") . "/phpexel/php/"; // obtengo la ruta a donde estan alojados los xlsx $source = $dir . "baby.xls"; //ruta al archivo maestro o base, mas conocido como "el original" $dest = $dir . "temp{$idArchivoTemporal}.xls"; //ruta al archivo copia de uso exclusivo de este usuario copy($source, $dest); //generero una nueva copia, si existia ya una antes, va a ser pisada, igualmente se lo va a eliminar luego de obtener los resultados $ex = new Excel(); // creamos el objeto para operar con el xlsx $obj = $ex->writeCells($datos, $dest, 0); //llena el excel con los datos personales y lo guarda $obj = $ex->writeCells($resultados, $obj, 1); // llena el excel con las respuestas y lo guarda para luego ser leido // Arreglo de las celdas a leer los resultados $celdas = array("V" => "D3", "1" => "M10", "2" => "M11", "3" => "M12", "4" => "M13", "5" => "M14", "6A" => "M15", "6B" => "M16", "7" => "M17", "8A" => "M18", "8B" => "M19", "S" => "M22", "C" => "M23", "P" => "M24", "A" => "M27", "H" => "M28", "N" => "M29", "D" => "M30", "B" => "M31", "T" => "M32", "SS" => "M35", "CC" => "M36", "PP" => "M37"); $finales = $ex->readCells($obj, $celdas, 3); // devuelve los resultados desde el xlsx copiado unlink($dest); return $finales; }