Libreria para exportar a xls y/o .pdf

Lenguajes dinamicos, hojas de estilo, frameworks, CMS...

Moderadores: frank, dxfiles

Responder
frizquierdo
Mensajes: 36
Registrado: Sab, 05 Feb 2011, 11:26

Libreria para exportar a xls y/o .pdf

Mensaje por frizquierdo » Mié, 14 Ago 2013, 13:55

Necesito una libreria para exportar a .xls y otra para .pdf.
alguien pudiera ayudarme con estas. ?????

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Libreria para exportar a xls y/o .pdf

Mensaje por hugo » Mié, 14 Ago 2013, 19:29

Exportar desde donde?
Es decir, desde que programa o aplicación?
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

frizquierdo
Mensajes: 36
Registrado: Sab, 05 Feb 2011, 11:26

Re: Libreria para exportar a xls y/o .pdf

Mensaje por frizquierdo » Jue, 15 Ago 2013, 08:18

Hugo, disculpa, cierto; es desde PHP.
Para pdf conozco de la existencia de tcpdf.

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Libreria para exportar a xls y/o .pdf

Mensaje por hugo » Sab, 17 Ago 2013, 03:42

Si tienes aceso a internet, podrías hacer una búsqueda, pues aparentemente hay unas cuantas alternativas para lo que buscas.
Ahora, te advierto que hacer que la apariencia de un XLS coincida con la de un reporte, puede resultarte trabajoso.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

frizquierdo
Mensajes: 36
Registrado: Sab, 05 Feb 2011, 11:26

Re: Libreria para exportar a xls y/o .pdf

Mensaje por frizquierdo » Mar, 20 Ago 2013, 10:59

Sobre acceso a internet no, no tengo, conozco de una libreria para exportar a pdf, se llama tcPdf, para el caso de xls, no tengo ni nombre de libreria.

Alguien puede ayudarme con eso ?!?!?!?!?

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Libreria para exportar a xls y/o .pdf

Mensaje por hugo » Mar, 17 Sep 2013, 23:12

Algunos enlaces útiles:

http://code.google.com/p/phpexportxlsclass/
http://www.codeplex.com/PHPExcel/
https://github.com/PHPOffice/PHPExcel
http://www.phpclasses.org/xls-export
http://www.the-art-of-web.com/php/dataexport/

También hay ejemplos de código relativamente simples:

Código: Seleccionar todo

    <?php
    $filename ="excelreport.xls";
    $contents = "testdata1 \t testdata2 \t testdata3 \t \n";
    header('Content-type: application/ms-excel');
    header('Content-Disposition: attachment; filename='.$filename);
    echo $contents;
    ?>

Código: Seleccionar todo

    function xlsBOF() {
    echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
    }
    function xlsEOF() {
    echo pack("ss", 0x0A, 0x00);
    }
    function xlsWriteNumber($Row, $Col, $Value) {
    echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
    echo pack("d", $Value);
    }
    function xlsWriteLabel($Row, $Col, $Value) {
    $L = strlen($Value);
    echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
    echo $Value;
    }
    // prepare headers information
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename=\"export_".date("Y-m-d").".xls\"");
    header("Content-Transfer-Encoding: binary");
    header("Pragma: no-cache");
    header("Expires: 0");
    // start exporting
    xlsBOF();
    // first row
    xlsWriteLabel(0, 0, "id");
    xlsWriteLabel(0, 1, "name");
    xlsWriteLabel(0, 2, "email");
    // second row
    xlsWriteNumber(1, 0, 230);
    xlsWriteLabel(1, 1, "John");
    xlsWriteLabel(1, 2, "john@yahoo.com");
    // third row
    xlsWriteNumber(2, 0, 350);
    xlsWriteLabel(2, 1, "Mark");
    xlsWriteLabel(2, 2, "mark@yahoo.com");
    // end exporting
    xlsEOF();

Código: Seleccionar todo

    <?php if (!$HTTP_GET_VARS['submit']) { ?>
    <?php
    echo "Export and Save Customer Data onto your Local Machine";
    echo '<form action="'. $phpself.'">';
    echo '<input type="submit" value="Export" name="submit"></form>';
    ?>
    <?php
    }
    else
    {
    $contents="Board Category,Questions,Answers\n";
    $user_query = mysql_query('select
    f.faqdesk_id
    , c.categories_id
    , f.faqdesk_question
    , c.categories_name
    , f.faqdesk_answer_short
    from faqdesk_description as f
    join faqdesk_to_categories as f2c
    on f.faqdesk_id = f2c.faqdesk_id
    join faqdesk_categories_description as c
    on f2c.categories_id = c.categories_id');
    while($row = mysql_fetch_array($user_query))
    {
    $contents.=$row[categories_name].",";
    $contents.=$row[faqdesk_question].",";
    $answer = str_replace(',', '\,', $row[faqdesk_answer_short]); // escape internalt commas
    $contents.=$answer."\n";
    }
    $contents = strip_tags($contents); // remove html and php tags etc.
    Header("Content-Disposition: attachment; filename=export.csv");
    print $contents;
    ?>

Código: Seleccionar todo

 function xlsBOF() {
    echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);  
    return;
}

function xlsEOF() {
    echo pack("ss", 0x0A, 0x00);
    return;
}

function xlsWriteNumber($Row, $Col, $Value) {
    echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
    echo pack("d", $Value);
    return;
}

function xlsWriteLabel($Row, $Col, $Value ) {
    $L = strlen($Value);
    echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
    echo $Value;
return;
} 

   // Query Database
    $result=mysql_db_query($dbname,"select id,prename,name,sname,grade from appdata where course='$courseid' and sec='$section'")

    // 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=$courseid-$sec.xls "); // แล้วนี่ก็ชื่อไฟล์
    header("Content-Transfer-Encoding: binary ");

    // XLS Data Cell

                xlsBOF();
                xlsWriteLabel(1,0,"Student Register $semester/$year");
                xlsWriteLabel(2,0,"COURSENO : ");
                xlsWriteLabel(2,1,"$courseid");
                xlsWriteLabel(3,0,"TITLE : ");
                xlsWriteLabel(3,1,"$title");
                xlsWriteLabel(4,0,"SETION : ");
                xlsWriteLabel(4,1,"$sec");
                xlsWriteLabel(6,0,"NO");
                xlsWriteLabel(6,1,"ID");
                xlsWriteLabel(6,2,"Gender");
                xlsWriteLabel(6,3,"Name");
                xlsWriteLabel(6,4,"Lastname");
                $xlsRow = 7;
                while(list($id,$prename,$name,$sname,$grade)=mysql_fetch_row($result)) {
                    ++$i;
                          xlsWriteNumber($xlsRow,0,"$i");
                          xlsWriteNumber($xlsRow,1,"$id");
                          xlsWriteLabel($xlsRow,2,"$prename");
                          xlsWriteLabel($xlsRow,3,"$name");
                          xlsWriteLabel($xlsRow,4,"$sname");
                    $xlsRow++;
                    }
                     xlsEOF();
                 exit();
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

frizquierdo
Mensajes: 36
Registrado: Sab, 05 Feb 2011, 11:26

Re: Libreria para exportar a xls y/o .pdf

Mensaje por frizquierdo » Vie, 20 Sep 2013, 08:41

Hugo, mi problema es con el acceso a sitios internacionales, la red de infomed no se extiende tanto al más allá.

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Libreria para exportar a xls y/o .pdf

Mensaje por hugo » Vie, 20 Sep 2013, 15:46

Me lo imagino, solo te ponia las direcciones para que tuvieras la referencia del nombre de los proyectos, y quizas en alguna oportunidad pudieras entrar desde otra red.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Responder