PHPExcel modificar existente.archivo xlsx con hoja de trabajo múltiple



require_once '../Classes/PHPExcel/IOFactory.php';


/** PHPExcel */require_once '../Classes/PHPExcel.php';

$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('dentkey.xlsx');
$excel2->setLoadAllSheets();
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('C6', '4')           

->setCellValue('C7', '5')         

  ->setCellValue('C8', '6')       

    ->setCellValue('C9', '7');
$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')

->setCellValue('C7', '5');


$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('dentkey1.xlsx');


Aquí, soy capaz de cargar (.xlsx) y también puedo modificar (dentkey.xlsx). Pero después de generar nuevos .archivo xlsx (dentkey1.xlsx)..todos los datos de las hojas de trabajo que estaba en (dentkey.xlsx) no se está cargando y tampoco puedo establecer el valor para la 2a hoja de trabajo.

Puedes multar

$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')

->setCellValue('C7', '5');

No está configurando el valor 5 a la columna 'C7' de generado (dentkey.xlsx) file

Por favor ayúdame...

Muchas gracias por adelantado

Author: Denish, 2011-09-29

1 answers

Este código parece funcionar, Probado en un entorno local WampServer Version 2.1

Downalod última versión de PHPExcel desde aquí PHPExcel 1.7.6

Código de trabajo.

<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
require_once '../Classes/PHPExcel/IOFactory.php';
require_once '../Classes/PHPExcel.php';

$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2 = $excel2->load('nTest.xlsx'); // Empty Sheet
$excel2->setActiveSheetIndex(0);
$excel2->getActiveSheet()->setCellValue('C6', '4')
    ->setCellValue('C7', '5')
    ->setCellValue('C8', '6')       
    ->setCellValue('C9', '7');

$excel2->setActiveSheetIndex(1);
$excel2->getActiveSheet()->setCellValue('A7', '4')
    ->setCellValue('C7', '5');
$objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007');
$objWriter->save('Nimit New.xlsx');
?>

Elimine esta línea de su código. $excel2->setLoadAllSheets();

Espero que esto ayude

 51
Author: Nimit Dudani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-05 06:35:22