Estoy usando la biblioteca PHPExcel y estoy creando objetos xls para escribir o leer:
PHPExcel_IOFactory::createReaderForFile('file.xlsx')
PHPExcel_IOFactory::createWriter('Excel2007')
¿Cómo puedo abrir un archivo XLSX para leer y escribir?
marca panadero
Cargas un archivo en PHPExcel usando un lector y el método load(), luego guardas ese archivo usando un escritor y el método save()… pero PHPExcel en sí mismo desconoce la fuente del objeto PHPExcel… no lo hace No importa si lo cargó desde un archivo (o qué tipo de archivo) o si lo creó a mano.
Como tal, no existe el concepto de “apertura para lectura/escritura”. Simplemente lea el archivo por nombre y guárdelo con el mismo nombre de archivo. Eso sobrescribirá el archivo original con cualquier cambio 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 sugerirle que lea la documentación y mire el código de muestra en /Tests
-
¿Podría escribir un código de muestra para explicar esto? no entiendo cuando hablas de
using a reader and the load() method, then save that file using a writer and the save() method
está hablando de dos objetos diferentes (un lector, un escritor) pero necesito abrir el archivo, modificar algunas celdas y guardar ese mismo objeto en un archivo.– Petruza
10 de enero de 2012 a las 19:46
-
esto puede causar un “Tamaño de memoria permitido de xxxx bytes agotado”, ¿se puede solucionar?
– daver
14 de agosto de 2013 a las 14:09
-
Probablemente se pueda arreglar mirando los consejos y recomendaciones documentados para el manejo de la memoria, como el uso del almacenamiento en caché de celdas.
– Marcos Baker
14/08/2013 a las 14:40
-
Gracias @MarkBaker.
– Mubín
26 de noviembre de 2016 a las 6:18
-
¡Funciona perfectamente!
– Thanh Nguyen
7 de agosto de 2017 a las 10:32