Tengo un problema y espero que me puedan ayudar . Necesito leer archivos excel para lo cual utilizo la libreria reader.php que tengo en pear y cuando tengo una fecha asi: '20080602' me lo toma como numero y todo bien pero al intentar leer una fecha con este formato 02/06/2008 11:00:38 me da error porque no me lo reconoce o me dice q la variable que se le asigna para leer esa columna no esta definida les paso el error y la parte del codigo:
Error:
Notice: Undefined variable: formatstr in C:\xampp\php\PEAR\Spreadsheet\Excel\reader.php on line 411
y el codigo es:
Código PHP:
case Spreadsheet_Excel_Reader_Type_XF:
//global $dateFormats, $numberFormats;
$indexCode = ord($this->data[$pos+6]) | ord($this->data[$pos+7]) << 8;
//echo "\nType.XF ".count($this->formatRecords['xfrecords'])." $indexCode ";
if (array_key_exists($indexCode, $this->dateFormats)) {
//echo "isdate ".$dateFormats[$indexCode];
$this->formatRecords['xfrecords'][] = array(
'type' => 'date',
'format' => $this->dateFormats[$indexCode]
);
}elseif (array_key_exists($indexCode, $this->numberFormats)) {
echo "isnumber ".$this->numberFormats[$indexCode];
$this->formatRecords['xfrecords'][] = array(
'type' => 'number',
'format' => $this->numberFormats[$indexCode]
);
}else{
$isdate = FALSE;
if ($indexCode > 0){
if (isset($this->formatRecords[$indexCode]))
$formatstr = $this->formatRecords[$indexCode];
//echo '.other.';
//echo "\ndate-time=$formatstr=\n"; echo "<br>este es el format: $this->formatRecords[$indexCode]<br>";
if ($formatstr)
if (preg_match("/[^hmsday\/\-:\s]/i", $formatstr) == 0) { //found day and time format
// AQUI ESTA EL ERROR XQ VBLE $formatstr ESTA VACIA
$isdate = TRUE;
$formatstr = str_replace('mm', 'i', $formatstr);
$formatstr = str_replace('h', 'H', $formatstr);
//echo "\ndate-time $formatstr \n";
}
}
if ($isdate){
$this->formatRecords['xfrecords'][] = array(
'type' => 'date',
'format' => $formatstr,
);
}else{
$this->formatRecords['xfrecords'][] = array(
'type' => 'other',
'format' => '',
'code' => $indexCode
);
}
}
//echo "\n";
break;
Les marco en comentario donde esta el error
Espero q alguien me pueda ayudar...