es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Insertar nueva hoja sin utilizar PHPspreadsheet o PHPexcel.

Hola, he visto la exportación de datos a Excel utilizando PHP en este enlace https://www.codexworld.com/export-data-to-excel-in-php/ y me pregunto cómo puedo insertar una nueva hoja. Todo lo que veo es usando PHPspreadsheet/excel pero no quiero cambiar la implementación de los datos. ¡Muchas gracias de antemano!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución:

    ¡Sí, tienes razón! Para insertar una nueva hoja en un archivo de Excel existente usando PHP, deberás usar la biblioteca PHPspreadsheet/excel. Sin embargo, no necesariamente tendrás que reescribir la implementación de tus datos. Puedes usar el mismo código del enlace que proporcionaste para exportar los datos a la primera hoja del archivo de Excel y luego agregar una nueva hoja usando PHPspreadsheet/excel.

    Aquí están los pasos básicos para agregar una nueva hoja:

    1. Carga el archivo Excel existente usando PHPspreadsheet/excel.
    2. Crea una nueva hoja usando el método createSheet().
    3. Establece el título de la nueva hoja usando el método setTitle().
    4. Agrega los datos a la nueva hoja usando el mismo código del enlace que proporcionaste. (Esto se puede hacer agregando ‘1’ a la referencia de la hoja de trabajo en el ejemplo de código, lo que exportará los datos a la primera hoja. Por ejemplo, cambia $worksheet a $worksheet1.)
    5. Guarda el archivo Excel actualizado usando el método save().

    Aquí tienes un ejemplo de cómo puedes agregar una nueva hoja:

    // Carga el archivo Excel existente
    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load("existing_file.xlsx");
    
    // Crea una nueva hoja
    $worksheet2 = $spreadsheet->createSheet();
    $worksheet2->setTitle("Nueva Hoja");
    
    // Agrega datos a la nueva hoja
    // Usa el mismo código del enlace que proporcionaste, pero agrega '1' a la referencia de la hoja de trabajo
    $worksheet1 = $spreadsheet->getActiveSheet();
    // código para exportar datos a la primera hoja
    
    // Guarda el archivo Excel actualizado
    $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');
    $writer->save('existing_file.xlsx');
    

    Espero que esto te ayude a agregar una nueva hoja a tu archivo de Excel existente. Hazme saber si tienes alguna otra pregunta.

Comments are closed.