mas notas
Exportar un .xls desde php
13/10/2005 - 11:19
El otro dia me surgio un problema, necesitaba exportar unos datos a excel desde php y como que casi me vuelvo loco, pero por suerte salio todo bien porque di con este codigo:
Los comentarios estan en ingles, pero son entendibles
Espero que les sirva, saludos!
// Excel begin of file header
function xlsBOF()
{
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
// Excel end of file footer
function xlsEOF()
{
echo pack("ss", 0x0A, 0x00);
return;
}
// Function to write a Number (double) into Row, Col
function xlsWriteNumber($Row, $Col, $Value)
{
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
// Function to write a label (text) into Row, Col
function xlsWriteLabel($Row, $Col, $Value )
{
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
// ----- end of function library -----
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=prueba.xls" );
header ("Content-Description: PHP/INTERBASE Generated Data" );
xlsBOF(); // begin Excel stream
xlsWriteLabel(0,0,"This is a label"); // write a label in A1, use for dates too
xlsWriteNumber(0,1,9999); // write a number B1
xlsEOF(); // close the stream
Que les sea leve.
Hmm, la falla no puedo postear todo el codigo asi que pondre mis cambios.
1.- la funcion que reconoce que es texto o numero.
function xlsWriteCell($Row, $Col, $Value )
{
if(is_numeric($Value))
xlsWriteNumber($Row, $Co
hola a todos le hice unas cuantas mejoras al código del pana. Ahora decide solo si es un numero o texto. Ademas de reconocer tildes, ñ y demas caracteres especiales.
<?php
$nameFile = "ejemplo_excel.xls";
//header ("Expires: 0");
Hola, de casualidad se puede manejar pestañas o solapas o tabs del archivo exportado y en cada una de estas una información específica
hey esto es excelente!!!!!
Una sola pregunta alguien sabe como puedo cambiar el tamano y poner negrilla en la fuente???
gracias
Muchas gracias, es lo que necesitaba. muy facil, sencillo, la verdad no pense que fuera tan facil. de nuevo gracias.
Excelente, funciona a la perfección. Muchas gracias
Excelente, funciona a la perfección. Muchas gracias
Solo tengo un comentario o más bien una duda con este código eh intentado expotar cadenas largas desde un base de datos y no las muestra
LE ENSALYARE HABER QUE SUCEDE....AUNQUE PREFERIBLE TRADUCIRLO....SI SE PUEDE
no habra uno por hay en español mijo!!!???
no habra uno por hay en español mijo!!!???
Genial tu codigo !! muchas gracias !
Necesitab hacer un archivo msg.
A versi puedo aprovechar este código.
muy bueno, muchas gracias!
matate hijo de tu mama
Esta bien el ejemplo lo que falataria es saber en donde va o como lo llamo para utlizar tantas funciones.
Gracias por compartilo
Pues hice unas pruebas y la diferencia es que sin el header expuesto antes lo puedes abrir en la misma ventana de Internet Explorer y con el header lo manda a abrir en una ventana nueva de excel :P
perverso, solo en esto tengo una duda:
header ("Content-Disposition: attachment; filename=prueba.xls" );
le dedo cambiar el filename? para que sirve?
lo siento no puedo pegar...
Si en algun momento quieren saber lo que hice me pueden escribir a bomv.27@gmail.com