Foros del Web » Programando para Internet » PHP »

Fechas en Excel

Estas en el tema de Fechas en Excel en el foro de PHP en Foros del Web. Hola a todos. Mi consulta es la siguiente: Hago una exportacion de una pagina a excel y funciona perfectamente. El problema es el siguiente: Una ...
  #1 (permalink)  
Antiguo 03/10/2008, 07:33
 
Fecha de Ingreso: abril-2007
Mensajes: 140
Antigüedad: 17 años, 7 meses
Puntos: 3
Fechas en Excel

Hola a todos. Mi consulta es la siguiente:
Hago una exportacion de una pagina a excel y funciona perfectamente. El problema es el siguiente:
Una fecha la paso dd/mm/aaaa (pasa lo mismo si pongo dd-mm-aaaa) y una columna de hora la paso hh:mm
Lo que sucede es que en excel, en la primera fila, la hora la toma como hora y la fecha como fecha, pero a partir de las otras filas, son campos de tipo "general". Lo que queda feo es que la fecha y la hora la recuesta sobre la derecha y en las otras filas sobre la izquierda. Alguien sabe como soluciona esto????

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 03/10/2008, 08:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Pregunta Respuesta: Fechas en Excel

Puedes darle el formato a las filas .

¿Cómo estás haciendo esa exportación?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 03/10/2008, 08:11
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 17 años
Puntos: 3
Respuesta: Fechas en Excel

Mm lo haces de una tabla..??
Mm lo haces de otro archivo..??


Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #4 (permalink)  
Antiguo 03/10/2008, 08:28
 
Fecha de Ingreso: abril-2007
Mensajes: 140
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Fechas en Excel

Ante todo gracias.
La exportacion la hago asi:
En la cabecdera pongo:
<?php
header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
?>
y la hago de una tabla, si. Hago la table tipo <table> y ahi pongo todos los datos scados de un recordset. No se por que la diferencia entre la primera fila y las demas.
  #5 (permalink)  
Antiguo 03/10/2008, 08:47
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 17 años
Puntos: 3
Respuesta: Fechas en Excel

Mm buscando te encontre un ejemplo..

<?php
header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=archivo.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo "<table border=1>\n";
echo "<tr>\n";
echo "<th>Nombre</th>\n";
echo "<th>Email</th>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><font color=green>Manuel Gomez</font></td>\n";
echo "<td>[email protected]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><font color=blue>Pago gomez</font></td>\n";
echo "<td>[email protected]</td>\n";
echo "</tr>\n";
echo "</table>\n";
?>

Y este que ya involucra calculos..

tal vez te funcione..

<?PHP
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: filename=\"X2003.XLS\";");

echo "<table border=1>" ;
echo "<tr><th> Estado </th><th> 2000 </th><th> 2001 </th><th> 2002 </th> </tr>";
echo "<tr><td> Colima </td><td> 4.6 </td><td> 4.4 </td><td> 3.8 </td> </tr>";
echo "<tr><td> Aguascalientes </td><td> 6.5 </td><td> 6.5 </td><td> 3.3 </td> </tr>";
echo "<tr><td> Guerrero </td><td> 7.2 </td><td> 7.8 </td><td> 3.2 </td> </tr>";
echo "<tr><td> Totales </td><td> =sum(b2:b4) </td><td> =c2+c3+c4 </td><td> =sum(d2:d4) </td> </tr>";
echo "</table>";
?>

Prueba y me avisa..

Lo raro es que solo la primera Fila.. Pero puedes poner el codigo para la exportacion..?!?

Salu2..!!

EDIT:

Disculpa pero tambien puedes formatear la fecha asi..

archivo= "cotizar.xls";

if (!file_exists($archivo)) {
$sw=1;
$cabezera="Nombres\tApellido Paterno\tApellido
Materno\tRut\tTelefono\tCelular\tEmail\tModelo Auto\tMetodo de
Contacto\tObservaciones\tRegion\tComuna o Ciudad\tLugar de Atencion\tFecha
de Envio\n";
}

$cadena = $nombre;
$cadena .= "\t".$apellido;
$cadena .= "\t".$apellido2;
$cadena .= "\t".$rut;
$cadena .= "\t".$telefono;
$cadena .= "\t".$celular;
$cadena .= "\t".$email;
$cadena .= "\t".$modelo;
$cadena .= "\t".$contacto;
$cadena .= "\t".$observaciones;
$cadena .= "\t".$Region;
$cadena .= "\t".$Lugar;
$cadena .= "\t".$CIUDAD;
$cadena .= "\t".date('d/m/Y h:i:s A');
$cadena .= "\n";

$p=fopen("$archivo","a");
if($p){
if ($sw==1){
fputs($p,$cabezera);
$sw=0;
}
fputs($p,$cadena);
}
fclose($p);
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #6 (permalink)  
Antiguo 03/10/2008, 09:22
 
Fecha de Ingreso: abril-2007
Mensajes: 140
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Fechas en Excel

Nuevamente gracias. El codigo de exportacion es
<?php
header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
?>
y exporto una tabla parecida a la que pones. Pero con fechas y horas. Las fechas de la primera fila y tambien la hora las toma cdomo tal, mientras que las de las otras filas las toma como general. Y ahora que me fije, los numeros del primer renglon lo mismo.
??????
  #7 (permalink)  
Antiguo 03/10/2008, 09:32
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 17 años
Puntos: 3
Respuesta: Fechas en Excel

Realizas algun ciclo..?!?! While o For..!?!? que te coloca la informacion en la tabla..?!?

Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #8 (permalink)  
Antiguo 03/10/2008, 12:19
 
Fecha de Ingreso: abril-2007
Mensajes: 140
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Fechas en Excel

Hola, si hago un ciclo for donde voy poniendo los datos de un array en la tabla.
  #9 (permalink)  
Antiguo 03/10/2008, 13:14
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Fechas en Excel

Hola

te dejo el codigo que uso para hacer reportes de la BBDD a excel a ver si te orienta algo

Código PHP:


/******************************************** 
Write the query, call it, and find the number of fields 
/********************************************/ 
$qry =mysql_query("SELECT * from descargas"); 

$campos mysql_num_fields($qry);   
$i=0;   

/******************************************** 
Extract field names and write them to the $header 
variable 
/********************************************/
ob_start(); 
echo 
"&nbsp;<center><table border=\"1\" align=\"center\">"
echo 
"<tr bgcolor=\"#336666\"> 
  <td><font color=\"#ffffff\"><strong>ID</strong></font></td> 
  <td><font color=\"#ffffff\"><strong>NOMBRE</strong></font></td> 
  <TD><font color=\"#ffffff\"><strong>DESCRIPCION</strong></font></TD> 
  <td><font color=\"#ffffff\"><strong>RUTA</strong></font></td> 
  <td><font color=\"#ffffff\"><strong>TIPO</strong></font></td> 
  <td><font color=\"#ffffff\"><strong>TAMAÑO</strong></font></td>
  <td><font color=\"#ffffff\"><strong>CATEGORIA</strong></font></td>
</tr>"

while(
$row=mysql_fetch_array($qry)) 
{   
    echo 
"<tr>";   
     for(
$j=0$j<$campos$j++) {   
         echo 
"<td>".$row[$j]."</td>";   
     }   
     echo 
"</tr>";         
}   
echo 
"</table>"

//$reporte = ob_get_clean();

/******************************************** 
Write the query, call it, and find the number of fields 
/********************************************/ 
$qry2 =mysql_query("SELECT * from noticias"); 

$campos2 mysql_num_fields($qry2);   
$i2=0;   

/******************************************** 
Extract field names and write them to the $header 
variable 
/********************************************/
//ob_start(); 
echo "&nbsp;<center><table border=\"1\" align=\"center\">"
echo 
"<tr bgcolor=\"#336666\"> 
  <td><font color=\"#ffffff\"><strong>ID</strong></font></td> 
  <td><font color=\"#ffffff\"><strong>TITULAR</strong></font></td> 
  <TD><font color=\"#ffffff\"><strong>RESUMEN</strong></font></TD> 
  <td><font color=\"#ffffff\"><strong>NOTICIA</strong></font></td> 
  <td><font color=\"#ffffff\"><strong>IMAGEN</strong></font></td> 
  <td><font color=\"#ffffff\"><strong>FECHA</strong></font></td>

</tr>"

while(
$row2=mysql_fetch_array($qry2)) 
{   
    echo 
"<tr>";   
     for(
$j2=0$j2<$campos$j2++) {   
         echo 
"<td>".$row2[$j2]."</td>";   
     }   
     echo 
"</tr>";         
}   
echo 
"</table>"

$reporte ob_get_clean();







/******************************************** 
Set the automatic downloadn section 
/********************************************/

header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=consulta.xls"); 
header("Pragma: no-cache"); 
header("Expires: 0");  

echo 
$reporte


?> 
es un reporte de dos tablas de la BBDD, lo puedes adaptar para hacerlo de solo una
Suerte y espero que te sirva
  #10 (permalink)  
Antiguo 03/10/2008, 13:22
 
Fecha de Ingreso: abril-2007
Mensajes: 140
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Fechas en Excel

Gracias, sobre fechas y numeros no dice nada, pero voy a estudiarlo a ver si me orienta en mi problema.
  #11 (permalink)  
Antiguo 03/10/2008, 13:28
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: Fechas en Excel

eso ya lo se, pero tu pedias que saliera toso mas ordenado y no a izquierda y derecha
de esta forma todo sale bien colocado

suerte
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:14.