Foros del Web » Programando para Internet » PHP »

exportar info de tabla a un nuevo libro de excel

Estas en el tema de exportar info de tabla a un nuevo libro de excel en el foro de PHP en Foros del Web. Hola amigos, Se que hay muchos temas con la misma consulta, y los he visto ahora bien lo que quiero consultarles es si existe algun ...
  #1 (permalink)  
Antiguo 25/09/2013, 15:04
 
Fecha de Ingreso: agosto-2013
Mensajes: 9
Antigüedad: 10 años, 8 meses
Puntos: 0
exportar info de tabla a un nuevo libro de excel

Hola amigos,

Se que hay muchos temas con la misma consulta, y los he visto ahora bien lo que quiero consultarles es si existe algun codigo o alguna forma mas corta de poder hacerlo, mi intencion es de dejar un boton con el que al seleccionarlo lo mande a exportar.

Saludos
  #2 (permalink)  
Antiguo 25/09/2013, 18:24
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: exportar info de tabla a un nuevo libro de excel

¿Alguna forma más corta que qué? dicho así, parece que quieres que adivinemos los scripts que has visto y el código que tienes hecho (si es que tienes algo hecho) así como adivinar qué es lo que quieres exportar.

Primero define los datos que quieres exportar y cómo los muestras actualmente.
  #3 (permalink)  
Antiguo 04/08/2014, 11:17
 
Fecha de Ingreso: agosto-2013
Mensajes: 9
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: exportar info de tabla a un nuevo libro de excel

fue un simple error en la publicacion opc001a no todos somos perfectos y si tengo un codigo y es el siguiente

El codigo que utilizo para exportar es el siguiente:
<?php
//----------------------------------------------------validacion para autorizacion de logueo en pagina---------------------------->
//define el inicio de secion para las variables y datos del usuario
session_start();
//confirmacion si esta logueado o no
if (!isset($_SESSION["autentificado"]))
{
//si no existe, envio a la página de autentificacion
header("Location: logueo.php");
exit();
}
else
{
if($_SESSION['rol'] == "Administrador")
{
//variable para recuperacion de nombre de usuario
$nombre = $_SESSION['nombre'];

//comando de conexion para toda la pagina
$conexion = oci_connect("usuario", "pass", "DB") or die (oci_error());

$exportar = oci_parse($conexion, "select *
from tabla") or die (oci_error());
oci_execute($exportar);

$return = '';
if( oci_num_rows($exportar)> 0)
{
$return .= '<table border=1>';
$cols = 0;
while($val_exportar = oci_fetch_row($exportar))
{
$return .= '<tr>';
if($cols==0)
{
$cols = sizeof($val_exportar);
$cols_names = array();
for($i=0; $i<$cols; $i++)
{
$col_name = oci_field_name($exportar,$i);
$return .= '<th>'.htmlspecialchars($col_name).'</th>';
$cols_names[$i] = $col_name;
}
$return .= '</tr><tr>';
}
for($i=0; $i<$cols; $i++)
{
#En esta iteración podes manejar de manera personalizada datos, por ejemplo:
if($cols_names[$i] == 'fechaAlta')
{ #Fromateo el registro en formato Timestamp
$return .= '<td>'.htmlspecialchars(date('d/m/Y H:i:s',$val_exportar[$i])).'</td>';
}
elseif($cols_names[$i] == 'activo')
{ #Estado lógico del registro, en vez de 1 o 0 le muestro Si o No.
$return .= '<td>'.htmlspecialchars( $val_exportar[$i]==1? 'SI':'NO' ).'</td>';
}
else
{
$return .= '<td>'.htmlspecialchars($val_exportar[$i]).'</td>';
}
}
$return .= '</tr>';
}
$return .= '</table>';
}
#Cambiando el content-type más las <table> se pueden exportar formatos como csv
header("Content-type: application/vnd-ms-excel; charset=iso-8859-1");
header("Content-Disposition: attachment; filename= Reporte de analistas ".date('d-m-Y').".xls");
echo $return;

//cierre de conexion a base de datos
oci_close($conexion);

//------------------ cierre de validacion para autorizacion de logueo en pagina------------------------->
}
else
{
header("Location: logueo.php");
exit();
}
}
?>


espero me puedan ayudar por que no se que sucede o me recomiendan algun codigo en lugar de este. gracias de antemano

Etiquetas: excel, info, libro, tabla
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 14:02.