2012-01-10 31 views

Respuesta

50

Carga un archivo en PHPExcel usando un lector y el método load(), luego guarde ese archivo usando un escritor y el método save() ... pero PHPExcel no tiene conocimiento del origen del objeto PHPExcel. . No importa si lo ha cargado desde un archivo (o qué tipo de archivo) o si lo ha creado a mano.

Como tal, no existe el concepto de "apertura para lectura/escritura". Simplemente lea el archivo por su nombre y guárdelo en el mismo nombre. Eso sobrescribirá el archivo original con los cambios que haya realizado en su secuencia de comandos.

EDITAR

Ejemplo

error_reporting(E_ALL); 
set_time_limit(0); 

date_default_timezone_set('Europe/London'); 
set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); 

include 'PHPExcel/IOFactory.php'; 

$fileType = 'Excel5'; 
$fileName = 'testFile.xls'; 

// Read the file 
$objReader = PHPExcel_IOFactory::createReader($fileType); 
$objPHPExcel = $objReader->load($fileName); 

// Change the file 
$objPHPExcel->setActiveSheetIndex(0) 
      ->setCellValue('A1', 'Hello') 
      ->setCellValue('B1', 'World!'); 

// Write the file 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType); 
$objWriter->save($fileName); 

Y puedo sugerir que lea la documentación, y mirar el código de ejemplo en/pruebas

+3

Podría escribir código de ejemplo para explicar esto? No entiendo cuando hablas de 'usar un lector y el método load(), luego guardas ese archivo usando un escritor y el método save() 'estás hablando de dos objetos diferentes (un lector, un escritor) pero Necesito abrir el archivo, modificar algunas celdas y guardar el mismo objeto en un archivo. – Petruza

+0

esto puede causar un "Tamaño de memoria permitido de xxxx bytes agotados", ¿se puede arreglar? – daver

+0

Probablemente se puede solucionar al consultar los consejos y recomendaciones documentados para el manejo de la memoria, como el uso del almacenamiento en memoria caché de la celda –

Cuestiones relacionadas