Creacion de reportes en PHP

Imagen de jgarrido

Forums: 

Este último año he estado programando intensivamente con php utilizando ADODB contra MySQL y ORACLE (ambas bajo linux) y la verdad ha sido toda una experiencia, en esta última semana he comenzado el proceso de creacion de reportes y he intentado exportar los reportes en formato xls directamente desde php pero hasta ahora lo más lejos que he llegado ha sido a los archivos CSV por otro lado existen plugins para el servidor php que me permitirian la generacion directa de los archivos XLS pero el reto y lo interesante seria hacerlo directamente desde php y adodb contra la base Oracle, alguna idea o sugerencia?

Creacion de reportes en PHP

Imagen de jgarrido

Se agradece sobremanera, una vez superado ese punto ando en la busqueda de alguna libreria que me ayude a hacer reportes en pantalla en una manera mas simple y rapida que programando la tabla a mano, por ahi estoy analizando un par ya publicare cual esta "mas mejor y menos pior" de las dos

Windows 98 un SO de 32 bits que trabaja en una plataforma de 16, desarrollado para un procesador de 8 bits, por una compañía de 4 bits, con una planeación de 2 bits y un dueño sin 1 bit de ética...

Creacion de reportes en PHP

Imagen de elhumano

Saludos
Que bueno que se resolvió el primer problema. En cuanto al segundo hay un brasileño que estaba exactamente tu misma situación se canso de las tablas y creó una librería que es muy fácil de manejar se basa en Xml y no hace falta saber nada de Xml solo configurar una plantilla él explica todo su uso en su página con buenos ejemplos, y todo lo necesario para sacar reportes generados con PHP cheverisimos en pantalla... aquí te mando el link

http://phpreports.sourceforge.net/index.html

Ahora tu servidor Apache debe tener soporte para Xml si no lo tiene aquí un link..

http://www.gingerall.com/charlie/ga/xml/p_sab.xml

ojala y no se complique la instalación del soporte para Xml

Suerte!
;)

Creacion de reportes en PHP

Imagen de jgarrido

GUAUUUUUUUUUUUUUUUUU, para que, he estado revisando los ejemplos y la documentación y se ve como una herramienta excepcional, te voy a nombrar guru oficila del php ;) :P , un poco más en serio te agradezco sobremanera la ayuda, la verdad me has ayudado extensivamente a ganar bastante tiempo en algunas tareas de mi proyecto con unos excelentes consejos, prometo molestarte de nuevo en poco tiempo... Oh! gran guru del PHP ;)

Windows 98 un SO de 32 bits que trabaja en una plataforma de 16, desarrollado para un procesador de 8 bits, por una compañía de 4 bits, con una planeación de 2 bits y un dueño sin 1 bit de ética...

Imagen de jgarrido

Ayer estuve probando otro script de PHP para generacion directa de archivos XLS sin intervencion de librerias adicionales, y OH! sorpresa tengo un codigo que adapte, para usarlo con ORACLE, que tomaba un recordset de MY-SQL y lo grababa en formato Excel, solo tiene un pequeño detalle, solo graba como excel si la pc del cliente tiene instalado MS-Excel, sino lo graba bajo formato .csv, pero la verdad es genial. 8)
[code:1:49bc80c9f7]
<?php
//ORIGINALLY Written by Dan Zarrella ADAPTED TO ORACLE WITH ADODB BY Jose Ignacio Garrido.
//Some additional tweaks provided by JP Honeywell
//pear excel package has support for fonts and formulas etc.. more complicated
//this is good for quick table dumps (deliverables)
include('config_basededatos_main.php');#->parametros de configuracion de ADODB
$basededatos = connect_to_db ($Dbs["basededatos"]);
$sqltecnicos="SELECT * FROM PRUEBAEXCEL";
$result = &$easymanage->Execute($sqltecnicos);
$count = $result->RecordCount();

for ($i = 0; $i < $count; $i++){
$nombrefield=$result->FetchField($i);
$header .= $nombrefield->name.",";
}

while($row = $result->FetchRow()){
$line = '';
foreach($row as $value){
if(!isset($value) || $value == ""){
$value = ",";
}else{
# important to escape any quotes to preserve them in the data.
$value = str_replace('"', '""', $value);
$value = str_replace('<br>','', $value);
# needed to encapsulate data in quotes because some data might be multi line.
# the good news is that numbers remain numbers in Excel even though quoted.
$value = '"' . $value . '"' . ",";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
# this line is needed because returns embedded in the data have "\r"
# and this looks like a "box character" in Excel
$data = str_replace("\r", "", $data);

# Nice to let someone know that the search came up empty.
# Otherwise only the column name headers will be output to Excel.
if ($data == "") {
$data = "\nno matching records found\n";
}

# This line will stream the file to the user rather than spray it across the screen
header("Content-type: application/octet-stream");

# replace excelfile.xls with whatever you want the filename to default to
header("Content-Disposition: attachment; filename= excelfile.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo $header."\n".$data;
?>
[/code:1:49bc80c9f7]

Windows 98 un SO de 32 bits que trabaja en una plataforma de 16, desarrollado para un procesador de 8 bits, por una compañía de 4 bits, con una planeación de 2 bits y un dueño sin 1 bit de ética...

Imagen de elhumano

Es elegante abrir un .csv con Excel y guardarlo con .xls, que tal si experimentas con .sxc de OOo.

header("Content-Disposition: attachment; OOofilename= file.sxc");

// aun que no creo que funcione con OOo
//Pero si el .csv esta asociado a OOCo tambien te despliega la hoja de calculo pero con extencion .csv

No veo ningun detalle,

¿Para que querría alguien un archivo en Excel si no tienen Excel ?

Ingenioso!

Imagen de jgarrido

En mi trabajo solo somos dos personas los que utilizamos el OOo el resto del mundo usa el MS Office asi que la mayoria gana, de todas maneras, lo que estoy pensando hacer es agregar algun elemento de seleccion que permita optar entre una version u otra.

Windows 98 un SO de 32 bits que trabaja en una plataforma de 16, desarrollado para un procesador de 8 bits, por una compañía de 4 bits, con una planeación de 2 bits y un dueño sin 1 bit de ética...

Hola

A estas alturas espero ya hallas solucionado tu problema de reportes, sin embargo te recomiendo revisar Report Manager.... Es una herramienta interesante. Te mando el link:

http://reportman.sourceforge.net/indexes.html

JESDAM

Imagen de pepo

HOla...

Para lo que son reportes puedes darte una vuelta por [url=http://www.agata.org.br/us/index.php] Agata Report [/url] que supuestamente es a Linux lo que Crystal Reports para Windows

------------------------------------------------
Linux User Registered #232544
Jabber : pepo@jabberes.org
Ekiga : pepo@ekiga.net
GnuPG-key : www.keyserver.net

Páginas