Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2012, 14:06
Computer XTress
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 20 años
Puntos: 2
Crear archivo EXCEL sin usar PEAR

Hola a todos. Necesito bajar informacion a un archivo EXCEL y todo lo que consigo son scripts que utilizan PEAR (lo que debo evitar) ó generadores que no almacenan la informacion en un archivo.

Si alguno tiene un script para CREAR un archivo binario de excel le agradeceria muchisimo, por ahora solo tengo esto que no me sirve de mucho:

Código PHP:
        # HELPERS
        
function xlsBOF() {
            echo 
pack("ssssss"0x8090x80x00x100x00x0);  
            return;
        }
        function 
xlsEOF() {
            echo 
pack("ss"0x0A0x00);
            return;
        }
        function 
xlsWriteNumber($Row$Col$Value) {
            echo 
pack("sssss"0x20314$Row$Col0x0);
            echo 
pack("d"$Value);
            return;
        }
        function 
xlsWriteLabel($Row$Col$Value ) {
            
$L strlen($Value);
            echo 
pack("ssssss"0x204$L$Row$Col0x0$L);
            echo 
$Value;
            return;
        } 





        
// Send Header
        
header("Pragma: public");
        
header("Expires: 0");
        
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        
header("Content-Type: application/force-download");
        
header("Content-Type: application/octet-stream");
        
header("Content-Type: application/download");
        
header("Content-Disposition: attachment;filename=export.xls ");
        
header("Content-Transfer-Encoding: binary ");


        
xlsBOF();

        
# CAMPOS
        
xlsWriteLabel(0,0"Nombre"); // Linea 1, Columna 1
        
xlsWriteLabel(0,1"Apellido"); // Linea 1, Columna 2

                # INFORMACION
        
xlsWriteLabel(1,0,"Jose"); // Linea 2, Columna 1
        
xlsWriteLabel(1,1,"Perez"); // Linea 2, Columna 2

        
xlsEOF(); 
El problema de este script es que no guarda en archivo. Intente en las funciones "HELPERS" cambiar el "echo" por fwrite (con su debido fopen para escritura en binario), pero no consegui que el archivo resultante tenga el formato adecuado.

Agradezco de antemano la ayuda!

Saludos