2011-05-06 87 views
5

Estoy tratando de leer, clonar y escribir y archivo .xlsm con PHPExcel pero me sale un error: Error fatal: excepción no detectada 'Excepción' con mensaje 'Hoja de trabajo! G177 -> Fórmula Error : Se produjo un error inesperado 'en ...PHPExcel clonar .xlsm con macros

Alguien sabe cómo puedo leer, clonar y escribir y el archivo Excel con macros, es decir, las macros están en una plantilla (el archivo que estoy leyendo) solo quiero clonar ese archivo y escriba en él, y simplemente mantenga las macros en el nuevo archivo. ¿Es eso posible con PHPExcel? hay otra biblioteca para hacer eso?

Gracias.

Respuesta

5

Primero:

  • PHPExcel no soporta la lectura de archivos de Excel macro (.xlsm).

Segundo:

  • no es compatible con macros.

Y no tengo conocimiento de ninguna biblioteca de PHP que admita esto.

La única forma en que sé con certeza que podría hacer esto sería usando PHPs COM extension, en un servidor con MS Excel instalado.

La única alternativa a la COM que puede trabajo habría de Ilia Alshanetsky Excel extension

+0

excel extension son solo enlaces para libXl que tampoco admite macros o gráficos – gcb

+0

Gracias por esa aclaración gcb ... Sabía que la extensión de Ilia era solo un enlace para libXl, pero no estaba al tanto de lo que libXl hizo y creó exactamente no es compatible –

3

Este hilo es un poco viejo, pero tenía el mismo problema por el que necesitaba para modificar los archivos de Excel con macros de PHP. Ninguna biblioteca de PHP que conozco admite la edición de archivos de Excel sin afectar negativamente a las macros.

Sin embargo, la biblioteca LibXL admite la preservación de macros a partir de la versión 3.3.1. No está escrito en PHP, pero lo que terminamos haciendo es escribir nuestra edición de Excel en C++ y llamamos a ese programa C++ desde PHP a través del método exec(). Funcionó muy bien y tuvo muy buen rendimiento. Espero que ayude a alguien.