Foros del Web » Programando para Internet » PHP »

error libreria reader

Estas en el tema de error libreria reader en el foro de PHP en Foros del Web. Hola a todos: Tengo un problema y espero que me puedan ayudar . Necesito leer archivos excel para lo cual utilizo la libreria reader.php que ...
  #1 (permalink)  
Antiguo 17/10/2008, 06:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 12
Antigüedad: 16 años, 1 mes
Puntos: 0
error libreria reader

Hola a todos:
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; 
este codigo lo pueden encontrar en la libreria: php\PEAR\Spreadsheet\Excel
Les marco en comentario donde esta el error
Espero q alguien me pueda ayudar...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:36.