PHPExcel Developer Documentation
PHPExcel Developer Documentation
PHPExcel Developer Documentation
1. Contenido
PHPExcel Developer Documentation
1. Contenido
2. Requisitos previos
2.1. Requisitos de software
2.2. Instrucciones de instalación
2.3. Introducción
2.4. Herramientas y enlaces útiles
2.4.1. OpenXML / SpreadsheetML
2.4.2. Preguntas frecuentes
2.4.3. Tutoriales
3. Arquitectura
3.1. Schematical
3.2. Cargador perezoso
3.3. Hoja de cálculo en la memoria
3.4. Lectores y escritores
3.5. Fluent interfaces
4. Crear una hoja de cálculo
4.1. PHPExcel la clase
4.1.1. Cargando un libro desde un archivo
4.1.2. Creando un nuevo libro
4.2. De configuración
4.2.1. Célula de almacenamiento en caché
4.2.2. Idioma/Locale
4.3. Borrar un libro de la memoria
4.4. Hojas de trabajo
4.4.1. Agregar una nueva hoja de cálculo
4.4.2. Copiar hojas de cálculo
4.4.3. Quitar una hoja de cálculo
4.5. Acceso a las células
4.5.1. Establecer un valor de celda por coordenadas
4.5.2. Recuperar una celda por coordenadas
4.5.3. Establecer un valor de celda por columna y fila
4.5.4. Recuperar una celda por columna y fila
4.5.5. Células Looping
4.5.6. Usando ligantes de valor para facilitar la entrada de datos
4.6. PHPExcel recetas
4.6.1. Configuración de metadatos de una hoja de cálculo
4.6.2. Ajuste de la hoja activa de una hoja de cálculo
4.6.3. Escribir una fecha u hora en una celda
4.6.4. Escribir una fórmula en una celda
4.6.5. Opciones de localización para las fórmulas
4.6.6. Escribir un carácter de nueva línea "\n" en una celda (ALT + "Enter")
4.6.7. Establecer explícitamente el tipo de datos de una celda
4.6.8. Cambiar una celda en una URL cliqueable
4.6.9. Ajuste de tamaño y orientación de página de una hoja de cálculo
4.6.10. Page Setup: opciones de escala
4.6.11.
4.6.12. Los márgenes
Centro de unade página
página horizontal/vertical
4.6.13. Configuración de la impresión encabezado y el pie de una hoja de cálculo
4.6.14. Saltos impresión de ajuste en una fila o columna
4.6.15. Mostrar u ocultar la cuadrícula cuando se imprime
4.6.16. Ajuste filas o columnas para repetir en el superior izquierdo
4.6.17. Especificar área de impresión
4.6.18. Formato celdas
4.6.19. Número de formatos
4.6.20. Alineación y texto
4.6.21. Establecer el estilo predeterminado de un libro
4.6.22. Estilo bordes de celda
4.6.23. Una célula de formato condicional
4.6.24. Agregar un comentario a una celda
4.6.25. Aplicar Autofiltro a un rango de celdas
4.6.26. Seguridad de ajuste en una hoja de cálculo
4.6.27. Validación de datos de configuración en una celda
4.6.28. Ajuste ancho de una columna
4.6.29. Mostrar u ocultar una columna
4.6.30. Grupo/contorno una columna
4.6.31. Ajuste de altura de una fila
4.6.32. Mostrar u ocultar una fila
4.6.33. Grupo/contorno una fila
4.6.34.
4.6.35. Merge/Separar celdas
Insertar filas o columnas
4.6.36. Agregar un dibujo a una hoja de cálculo
4.6.37. Imágenes de la lectura de una hoja de cálculo
4.6.38. Agregar texto a una celda
4.6.39. Definir un rango con nombre
4.6.40. Redirigir la salida a explorador web del cliente
4.6.41. Ajuste el ancho de columna predeterminado
4.6.42. Ajuste de la altura de fila predeterminado
4.6.43. Agrega una GD dibujo a una hoja de cálculo
4.6.44. Hoja de ajuste nivel de zoom
4.6.45. Color de ficha de hoja
4.6.46. Crear hojas de cálculo en un libro
4.6.47. Hojas ocultas (Estados de hoja)
4.6.48. Hoja de derecha a izquierda
5. Escénicas fórmulas cálculos
5.1. Utilizando el motor de cálculo PHPExcel
5.2. Conoce limitaciones
5.2.1. Precedencias de los operadores
5.2.2. Fórmulas que involucran números y texto
6. De lectura y escritura al archivo
6.1. PHPExcel_IOFactory
6.1.1. PHPExcel_Reader_IReader crear usando PHPExcel_IOFactory
6.1.2. PHPExcel_Writer_IWriter crear usando PHPExcel_IOFactory
6.2. Formato de archivo de Excel 2007 (SpreadsheetML)
6.2.1. PHPExcel_Reader_Excel2007
6.2.2. PHPExcel_Writer_Excel2007
6.3. Formato de archivo de Excel 5 (BIFF)
6.3.1. PHPExcel_Reader_Excel5
6.3.2. PHPExcel_Writer_Excel5
6.4. Formato de archivo XML de Excel 2003
6.4.1. PHPExcel_Reader_Excel2003XML
6.5. Enlace simbólico (SYLK)
6.5.1. PHPExcel_Reader_SYLK
6.6. Oficina abierta/Libre (.ods)
6.6.1. PHPExcel_Reader_OOCalc
6.7. CSV (valores separados por comas)
6.7.1.
6.7.2. PHPExcel_Reader_CSV
PHPExcel_Writer_CSV
6.8. HTML
6.8.1. PHPExcel_Reader_HTML
6.8.2. PHPExcel_Writer_HTML
6.9. PDF
6.9.1. PHPExcel_Writer_PDF
6.10. Archivos Excel generación de plantillas (leer, modificar, escribir)
7. Créditos
Apéndice A: claves de matriz válida para estilo applyFromArray()
2. Requisitos previos
2.1. Re quisitos de softw are
El siguiente software es necesaria para desarrollar usando PHPExcel:
» PHP versión 5.2.0 o posterior
» PHP extensión php_zip activado *)
» Php_xml de extensión PHP habilitado
» Php_gd2 extensión PHP activado (si no compilado)
*) php_zip sólo es necesario PHPExcel_Reader_Excel2007, PHPExcel_Writer_Excel2007 y
PHPExcel_Reader_OOCalc. En otras palabras, si necesitas PHPExcel para manejar archivos xlsx o .ods
necesitará la extensión zip, pero lo contrario no.
Puede eliminar esta dependencia para escribir archivos Excel2007 (aunque aún no para lectura)
mediante el uso de la biblioteca PCLZip que se lía con PHPExcel. Ver la sección de preguntas frecuentes
de este documento (2.4.2) para más detalles sobre esto. PCLZip tiene una dependencia en la extensión
de zlib de PHP ser habilitado.
En la actualidad, esto sólo le permite escribir Excel2007 archivos sin necesidad de ZipArchive
(no para leer Excel2007 o OOCalc)
Si no puede encontrar una copia limpia de ZipArchive, entonces puede utilizar la biblioteca
PCLZip como alternativa al escribir archivos de Excel2007, como se describió anteriormente.
Fatal error: tamaño de la memoria de xxx bytes agotados (intentado asignar yyy
bytes) puede entrar zzz en línea aaa
PHPExcel posee una representación "en memoria" de una hoja de cálculo, así que está
restringido por limitaciones de memoria de PHP. Puede aumentar la memoria a disposición de
PHP editando el valor de la Directiva memory_limit en tu archivo php.ini, o usando ini_set
('memory_limit', '128 M') dentro de su código (ISP).
Algunos lectores y escritores son más rápidos que otros, y también usan diferentes cantidades
de memoria. Usted puede encontrar indicios del uso de memoria y rendimiento relativo de los
diferentes lectores y escritores, sobre las diferentes versiones del PHPExcel, en el Foro de
discusión.
Poco a poco estamos construyendo una lista de características, junto con los diferentes
lectores y escritores que apoyan, en el archivo "funcionalidad cruzada-Reference.xls" en la
carpeta /Documentation.
La respuesta corta es que PHPExcel utiliza una medida donde está incluido el acolchado. Vea
la sección: "Ajuste de ancho de una columna" para más detalles.
$inputFileName = './sampleData/example1.xls' ;
PHPExcel_CachedObjectStorageFactory::cache_in_memory;
El valor por defecto. Si usted no inicializar cualquier método de almacenamiento en caché,
entonces este es el método que utilizará PHPExcel. Celda objetos se mantienen en la
memoria PHP como en la actualidad.
PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized;
Empleando este método de almacenamiento en caché, las células se llevan a cabo en
memoria PHP como una matriz de objetos serializados, que reduce la huella de memoria con
rendimiento mínimo.
PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
Como cache_in_memory_serialized, este método tiene células en memoria PHP como una
matriz de objetos serializados, pero comprimido con gzip para reducir el uso de la memoria
aún más, aunque el acceso a leer o a escribir una celda es ligeramente más lenta.
PHPExcel_CachedObjectStorageFactory::cache_igbinary;
Utiliza la extensión de PHP igbinary (si está disponible) para serializar objetos de la célula de
memoria. Esto
estándar de es normalmente
PHP, más rápidoeny la
pero no está disponible utiliza menos
mayoría de memoria
entornos que serialización
hosting.
PHPExcel_CachedObjectStorageFactory::cache_to_discISAM;
Cuando se utiliza cache_to_discISAM que todas las células se llevan a cabo en un archivo de
disco temporal, con sólo un índice para su ubicación en el archivo mantenido en memoria
PHP. Esto es más lento que cualquiera de los métodos de cache_in_memory, pero reduce
significativamente la huella de la memoria. De forma predeterminada, PHPExcel utilizará el
directorio temp de PHP para el archivo de caché, pero puede especificar un directorio
diferente al inicializar cache_to_discISAM.
$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_discISAM;
$cacheSettings = array ('dir' = > '/ usr/local/tmp'
);
PHPExcel_Settings::setCacheStorageMethod ($cacheMethod, $cacheSettings);
El archivo de disco temporal se borra automáticamente cuando termina la secuencia de
comandos.
PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
Como cache_to_discISAM,
cabo en cuandoI/O,
la corriente php://temp se usa
concache_to_phpTemp
sólo un índice paraque todas las células
su ubicación se llevan
mantenida en a
memoria PHP. En PHP, la envoltura php://memory almacena los datos en la memoria:
php://temp se comporta semejantemente, pero utiliza un archivo temporal para almacenar
los datos cuando se alcanza un cierto límite de memoria. El valor predeterminado es 1 MB,
pero esto puede cambiar cuando inicializar cache_to_phpTemp.
$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
$cacheSettings = array ('memoryCacheSize' = > 8 MB'
);
PHPExcel_Settings::setCacheStorageMethod ($cacheMethod, $cacheSettings);
El archivo php://temp se borra automáticamente cuando termina la secuencia de comandos.
PHPExcel_CachedObjectStorageFactory::cache_to_apc;
Cuando se utiliza cache_to_apc, objetos de la célula se mantienen en APC [1] con solamente un
índice mantenido en memoria PHP para identificar la existencia de la célula. De forma
predeterminada, se utiliza un tiempo de espera de caché APC de 600 segundos, que debería
ser suficiente para la mayoría de las aplicaciones: aunque es posible cambiar esto cuando
inicializar cache_to_APC.
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_APC;
$cacheSettings = array ('cacheTime' = > 600
);
PHPExcel_Settings::setCacheStorageMethod ($cacheMethod, $cacheSettings);
Cuando termina la secuencia de comandos todas las entradas se borrará de APC,
independientemente del valor cacheTime, así que no puede utilizarse para almacenamiento
persistente mediante este mecanismo.
PHPExcel_CachedObjectStorageFactory::cache_to_memcache
Cuando se utiliza cache_to_memcache, objetos de la célula se mantienen en memcache [2] con
solamente un índice mantenido en memoria PHP para identificar la existencia de la célula.
De forma predeterminada, PHPExcel busca un servidor memcache en localhost puerto 11211.
También establece un límite de tiempo de espera de memcache de 600 segundos. Si está
ejecutando en un servidor diferente o puerto memcache, entonces puede cambiar estos
valores por defecto cuando se inicialice cache_to_memcache:
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_memcache;
$cacheSettings = array ('memcacheServer' = > 'localhost',
'memcachePort' = > 11211,
'cacheTime' = > 600
);
PHPExcel_Settings::setCacheStorageMethod ($cacheMethod, $cacheSettings);
Cuando termina la secuencia de comandos se borrará todas las entradas de memcache,
independientemente del valor cacheTime, así que no puede utilizarse para almacenamiento
persistente mediante este mecanismo.
PHPExcel_CachedObjectStorageFactory::cache_to_wincache;
Cuando se utiliza cache_to_wincache, objetos de la célula se mantienen en Wincache [3] con
solamente un índice mantenido en memoria PHP para identificar la existencia de la célula. De
forma predeterminada, se utiliza un tiempo de espera de caché de Wincache de 600
segundos, que debería ser suficiente para la mayoría de las aplicaciones: aunque es posible
cambiar esto cuando inicializar cache_to_wincache.
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_wincache;
$cacheSettings = array ('cacheTime' = > 600
);
PHPExcel_Settings::setCacheStorageMethod ($cacheMethod, $cacheSettings);
Cuando termina la secuencia de comandos todas las entradas se borrará de Wincache,
independientemente del valor cacheTime, así que no puede utilizarse para almacenamiento
persistente mediante este mecanismo.
PHPExcel_CachedObjectStorageFactory::cache_to_sqlite;
Utiliza una base de datos de SQLite 2 en memoria para almacenar en caché datos de la celda.
A diferencia de otros métodos de almacenamiento en caché, las células ni un índice se
imparten en memoria PHP - una tabla de base de datos indexadas hace innecesario sostener
cualquier índice en memoria PHP – haciendo de este el más memoria eficiente de la célula de
almacenamiento en caché de métodos.
PHPExcel_CachedObjectStorageFactory::cache_to_sqlite3;
Utiliza una base de datos de SQLite 3 en memoria para almacenar en caché datos de la celda.
A diferencia de otros métodos de almacenamiento en caché, las células ni un índice se
imparten en memoria PHP - una tabla de base de datos indexadas hace innecesario sostener
cualquier índice en memoria PHP – haciendo de este el más memoria eficiente de la célula de
almacenamiento en caché de métodos.
4.2.2. Idioma/Locale
Se han incluido algunos elementos de localización en PHPExcel. Se puede establecer un
escenario cambiando la configuración. Para establecer la configuración regional al portugués
brasileño se usaría:
$locale = 'pt_br';
$validLocale = PHPExcel_Settings::setLocale($locale);
Si (! $validLocale) {}
echo 'Unable to set locale '. $locale. "- volver a es_ES < br / > \n";
}
Puede cambiar la hoja activa actualmente por índice o por nombre métodos
setActiveSheetIndex() y setActiveSheetIndexByName ().
Una nueva hoja de cálculo creada usando este método será llamado "Hoja de cálculo" u "Hoja
de cálculo < n >" donde "< n >" es el número más bajo posible garantizar que el título es
único.
Alternativamente, puede crear una instancia de una nueva hoja de cálculo (puesta en el
título que elijas lo que elijas) y luego insértela en su libro utilizando el método addSheet().
/ / Crear una nueva hoja de cálculo llamado "Mis datos"
$myWorkSheet = new PHPExcel_Worksheet ($objPHPExcel, 'Mis datos');
/ / Coloque la hoja de cálculo "Mis datos" como la primera hoja del objeto
PHPExcel
$objPHPExcel -> addSheet ($myWorkSheet, 0);
También puede copiar hojas de un libro a otro, aunque esto es más complejo como PHPExcel
también tiene que replicar el estilo entre los dos libros. El método addExternalSheet() se
proporciona para este propósito.
$objClonedWorksheet = clon $objPHPExcel1 -> getSheetByName (' hoja 1');
$objPHPExcel -> addExternalSheet($objClonedWorksheet);
Si usted necesita el valor calculado de una celda, utilice el código siguiente. Esto se explica
más en 4.4.35.
$objPHPExcel -> getActiveSheet() - > getCell('B8') -> getCalculatedValue();
Si usted necesita el valor calculado de una celda, utilice el código siguiente. Esto se explica
más en 4.4.35
/ / Celda B8
$objPHPExcel -> getActiveSheet() - > getCellByColumnAndRow (1, 8) ->
getCalculatedValue();
Nota: índice de columna en PHPExcel está basado en 0 mientras que el índice de fila está basada
en 1. Eso significa 'A1' ~ (0,1)
A continuación se ofrece un ejemplo donde leemos todos los valores en una hoja de cálculo y
los muestra en una tabla.
<? php
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader -> setReadDataOnly(true);
$objPHPExcel = $objReader -> load("test.xlsx");
$objWorksheet = $objPHPExcel -> getActiveSheet();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); /
/ por ejemplo 5
4.5.6. Uso de
Internamente, carpetas
PHPExcel utilizade valor para facilitar la entrada de datos
un valor
predeterminadoPHPExcel_Cell_IValueBinder implementación
(PHPExcel_Cell_DefaultValueBinder ) determinar los tipos de datos de introdujo los
datos utilizando una célula setValue() método.
/ ** PHPExcel_Cell_AdvancedValueBinder * /
require_once 'PHPExcel/Cell/AdvancedValueBinder.php';
/ ** PHPExcel_IOFactory * /
require_once 'PHPExcel/IOFactory.php';
// ...
$objPHPExcelde
Configuración ->metadatos de hoja de->cálculo
getProperties() se realiza
setCreator de la siguiente
("Martín manera:
Balliauw");
$objPHPExcel -> getProperties() -> setLastModifiedBy ("Martín Balliauw");
$objPHPExcel -> getProperties() -> setTitle ("Office 2007 XLSX prueba
documento");
$objPHPExcel -> getProperties() -> setSubject ("Office 2007 XLSX prueba
documento");
$objPHPExcel -> getProperties() -> descripciónDelConjunto ("prueba documento
para Office 2007 XLSX, generado mediante clases PHP.");
$objPHPExcel -> getProperties() -> setKeywords ("office 2007 openxml php");
$objPHPExcel -> getProperties() -> setCategory ("resultado archivo de
prueba");
PHPExcel trabaja con UST fecha (hora Universal) y valores de tiempo, pero no sin
conversiones internas; Así es el desarrollador para asegurar que los valores pasan a las
funciones de conversión de fecha/hora son UST.
Escribir un valor de fecha en una celda consta de 2 líneas de código. Seleccione el método
que más le convenga mejor. Estos son algunos ejemplos:
/ * PHPExcel_Cell_AdvanceValueBinder requerido para esta muestra * /
require_once 'PHPExcel/Cell/AdvancedValueBinder.php';
/ / PHP-tiempo (Unix)
$time = gmmktime(0,0,0,12,31,2008); / / int(1230681600)
$objPHPExcel -> getActiveSheet()
-> setCellValue ('D1', PHPExcel_Shared_Date::PHPToExcel($time));
$objPHPExcel -> getActiveSheet()
-> getStyle('D1')
-> getNumberFormat()
-> setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH)
/ / Excel-fecha/hora
$objPHPExcel -> getActiveSheet()
-> setCellValue ('D1', 39813)
$objPHPExcel -> getActiveSheet()
-> getStyle('D1')
-> getNumberFormat()
-> setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH)
Los métodos anteriores para entrar en una fecha que todos producen el mismo resultado.
PHPExcel_Style_NumberFormat ofrece un montón de formatos de fecha previamente
definidos.
Notas:
1. Vea la sección "uso valor ligantes para facilitar la entrada de datos" para aprender
más sobre el AdvancedValueBinder utilizado en el primer ejemplo.
3. Excel también puede funcionar en un calendario basado en 1904 (por defecto para los
libros guardados
utilizar PHPExcel.en Mac). Normalmente, no tienes que preocuparse por esto al
Cuando se abra el libro final por parte del usuario, Microsoft Office Excel se encargará de
Mostrar la fórmula según el lenguaje de las aplicaciones. Traducción es atendida por la
aplicación.
La siguiente línea de código escribe la fórmula "= si (C4 > 500,"ganancia"," ")" en la celda B8.
Tenga en cuenta que la fórmula debe empezar con "=" para hacer PHPExcel reconocer esto
como una fórmula.
$objPHPExcel -> getActiveSheet() -> setCellValue ('B8','= si (C4 > 500,
"ganancia","")');
Si quieres escribir un comienzo de cadena con un "=" a una celda, entonces debe utilizar el
método setCellValueExplicit().
$objPHPExcel -> getActiveSheet()
-> setCellValueExplicit ('B8',
"= Si (C4 > 500,"ganancia"," ")',
PHPExcel_Cell_DataType::TYPE_STRING
);
Fórmula de una celda puede leerse otra vez usando la siguiente línea de código:
$formula = $objPHPExcel -> getActiveSheet() - > getCell('B8') -> getValue();
Si usted necesita el valor calculado de una celda, utilice el código siguiente. Esto se explica
más en 4.4.35.
$value = $objPHPExcel -> getActiveSheet() - > getCell('B8') ->
getCalculatedValue();
Si los archivos de idioma ruso no están disponibles, el método setLocale() devolverá un error y
configuración inglés se utilizarán a lo largo.
Una vez que usted ha establecido una configuración regional, usted puede traducir una
fórmula de su codificación interno español.
$formula = $objPHPExcel -> getActiveSheet() - > getCell('B8') -> getValue();
$translatedFormula =
PHPExcel_Calculation::getInstance() ->
_translateFormulaToLocale($formula);
También puede crear una fórmula utilizando los nombres de función y separadores de
argumento correspondiente a la configuración regional definida; luego traducirlo al inglés
antes de establecer el valor de la celda:
$formula = '= ДНЕЙ360(ДАТА(2010;2;5);ДАТА(2010;12;31);ИСТИНА)';
$internalFormula =
PHPExcel_Calculation::getInstance() ->
translateFormulaToEnglish($formula);
$objPHPExcel -> getActiveSheet() -> setCellValue('B8',$internalFormula);
En la actualidad traducción fórmula sólo traduce los separadores del argumento de la función,
nombres de las funciones y las constantes TRUE y FALSE.
Punta
Leer más sobre el formato de las células mediantegetStyle()en otro sitio.
Punta
AdvancedValuebinder.phpenciende automáticamente "ajustar texto" de la celda cuando ve un
caracter en una cadena que se está insertando en una celda. Al igual que Microsoft Office Excel. Pruebe
esto:
require_once 'PHPExcel/Cell/AdvancedValueBinder.php';
PHPExcel_Cell::setValueBinder (new PHPExcel_Cell_AdvancedValueBinder());
Si quieres hacer->
$objPHPExcel un getActiveSheet()
hipervínculo a otra hoja de cálculo/celda,
-> setCellValue utilice'www.phpexcel.net');
('E26', el siguiente código:
$objPHPExcel -> getActiveSheet() - > getCell('E26') -> getHyperlink() ->
setUrl ("hoja: / / 'Sheetname'!A1 ");
Tenga en cuenta que hay configuración de página adicionales disponibles. Por favor, consulte
la documentación de la API para todas las opciones posibles.
ajuste
alturade
Ejemplo
Aquí está cómo ajustar a 1 página de ancho por infinitas páginas de altos :
$objPHPExcel -> getActiveSheet() - > getPageSetup() -> setFitToWidth(1);
$objPHPExcel -> getActiveSheet() - > getPageSetup() -> setFitToHeight(0);
Como puedes ver, no es necesario
llamarsetFitToPage(true) desdesetFitToWidth(...) ysetFitToHeight(...) esto
desencadena.
Superíndice y subíndice no pueden tanto ser ON al mismo tiempo. Lo que ocurra primero gana
y el otro es ignorado, mientras que el primero está encendido.
Excel2007 admite los siguientes códigos:
& L Código de la sección de"izquierda" (hay tres encabezado / pie de
página ubicaciones, "left", "centro" y "derecha"). Cuando existen dos
o más apariciones de este marcador de sección, el contenido de
todos los marcadores está concatenado, en el orden de aparición y
colocado en la sección izquierda.
& P Código para "actual página #"
& N Código para "totales páginas"
& tamaño de fuente El código para el "tamaño de texto", donde el tamaño de fuente es
un tamaño de fuente en puntos.
& K Código para "color de fuente del texto"
» Color RGB se especifica como 100s
» Color del tema es especificada como TTSNN donde TT es el
color del tema Id, tampoco es "+" o "-" del valor del
tinte/pantalla, NN es el valor de matiz/pantalla.
& S Código para "texto tachado" on / off
& X Código para "texto super script" on / off
& Y Código para "subíndice texto" on / off
& C Código de "sección de centro". Cuando existen dos o más apariciones
de este marcador de sección, el contenido de todos los marcadores
está concatenado, en el orden de aparición y colocado en la sección
central.
& D Código para "fecha"
& T Código para "tiempo"
& G Código para el "cuadro de fondo"
Por favor asegúrese de agregar la imagen a la cabecera y pie de
página:
$objDrawing = new
PHPExcel_Worksheet_HeaderFooterDrawing();
$objDrawing -> setName ('PHPExcel logo');
$objDrawing -> setPath('./images/phpexcel_logo.gif');
$objDrawing -> setHeight(36);
$objPHPExcel -> getActiveSheet() - > getHeaderFooter() ->
addImage ($objDrawing,
PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT);
& U Código para "texto subrayado simple"
& E Código para "doble subrayado"
& R Código de "sección de la derecha". Cuando existen dos o más
apariciones de este marcador de sección, el contenido de todos los
marcadores está concatenado, en el orden de aparición y colocado
en la sección derecha.
& Z Código para la "ruta de archivo de este libro"
& F Código para "nombre de archivo de este libro"
& A Código para "nombre de la ficha de hoja"
&+ Código para agregar a la página #
&- Código para restar página #
& "el nombre de El código de "nombre de la fuente de texto" y "texto tipo de fuente",
fuente, tipo de donde el nombre de fuente y fuente tipo son cadenas especificando
letra"
el nombre y tipo de la fuente, separada por una coma. Cuando
aparezca un guión en nombre de la fuente, que significa "no
especificado". Nombre de fuente y tipo de letra pueden ser
localizados valores.
& "-, audaz" Código de estilo"negrita"
& B Código de estilo"negrita"
& "-, regular" Código para "regular font style"
& "-, cursiva" Código de "estilo de letra cursiva"
& me Código de "estilo de letra cursiva"
& "-, negrita Código de "estilo de negrita cursiva"
cursiva"
& O Código de "estilo de contorno"
& H Código de estilo"sombra"
Punta
La tabla de códigos puede parecer abrumadora primera vez que intentan averiguar cómo escribir un
encabezado o pie de página. Afortunadamente, hay una manera más fácil. Que Microsoft Office Excel
haga el trabajo por ti.
Por ejemplo, crear en Microsoft Office Excel un xlsxarchivo donde insertar el encabezado y el pie como
se desee utilizando los programas propia interfaz. Guardar el archivo como test.xlsx. Ahora, toma
ese archivo y leer los valores usando PHPExcel como sigue:
$objPHPexcel = PHPExcel_IOFactory::load('test.xlsx');
$objWorksheet = $objPHPexcel -> getActiveSheet();
var_dump ($objWorksheet -> getHeaderFooter() -> getOddFooter());
var_dump ($objWorksheet -> getHeaderFooter() -> getEvenFooter());
var_dump ($objWorksheet -> getHeaderFooter() -> getOddHeader());
var_dump ($objWorksheet -> getHeaderFooter() -> getEvenHeader());
Que revela los códigos para los pares/impares encabezado y pie de página. Los usuarios experimentados
pueden ser más fácil de cambiar el nombre de test.xlsx a test.zip, lo descomprimimos e
inspeccionar directamente el contenido de los pertinentes xl/worksheets/sheetX.xml para
encontrar los códigos para encabezado y pie de página.
También puede haber múltiples áreas de impresión en una sola hoja de cálculo:
$objPHPExcel -> getActiveSheet() - > getPageSetup() ->
setPrintArea('A1:E5,G4:M20');
A partir de PHPExcel 1.7.0 getStyle() también acepta un rango de celdas como parámetro. Por
ejemplo, puede establecer un color de fondo rojo en un rango de celdas:
$objPHPExcel -> getActiveSheet() - > getStyle('B3:B7') -> getFill()
-> setFillType(PHPExcel_Style_Fill::FILL_SOLID)
-> getStartColor() -> setARGB('FFFF0000');
Punta
Se recomienda a muchas células del estilo a la vez, usando por ejemplo getStyle('A1:M500'), en lugar de
labrar las células individualmente en un bucle. Esto es mucho más rápido comparado con bucle a través
de las células y peinarlos individualmente.
También hay una manera alternativa para establecer estilos. El siguiente código establece el
estilo de una célula de fuente negrita, alineación derecha superior borde delgado y un relleno
de degradado:
$styleArray = array ()
'font'
'audaz'==>>array
true,()
),
'alineación' = > array ()
'horizontal' = > PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,
),
'fronteras' = > array ()
'top' = > array ()
'estilo' = > PHPExcel_Style_Border::BORDER_THIN,
),
),
'relleno' = > array ()
'tipo' = > PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
'rotación' = > 90,
'startcolor' = > array ()
'argb' = > 'FFA0A0A0',
),
'endcolor' = > array ()
'argb' = > 'FFFFFFFF',
),
),
);
Este método alternativo usando matrices debería ser más rápido en términos de ejecución
cuando se establecen más de una propiedad de estilo. Pero la diferencia apenas puede ser
mensurable a menos que usted tiene muchos estilos diferentes en su libro.
Antes PHPExcel 1.7.0 duplicateStyleArray() fue el método recomendado para labrar un rango de
celdas, pero este método ya ha quedado obsoleto ya que getStyle() ha comenzado a aceptar un rango de
celdas.
Esto formateará un número por ejemplo 1587.2 y aparece como 1,587.20 cuando se abre el
libro en MS Office Excel. (Dependiendo de la configuración de decimales y miles separadores
en Microsoft Office Excel puede demostrar para arriba como 1.587,20)
En Microsoft Office Excel, así como en PHPExcel, tendrás que interactuar con códigos de
formato de número crudo cuando usted necesita algo especial formato de número
personalizado. Ejemplo:
$objPHPExcel -> getActiveSheet() - > getStyle('A1') -> getNumberFormat()
-> setFormatCode ('[azul] [> = 3000] $#, ## 0; [Rojo] [< 0] $#, ## 0; $#, ##
0');
Otro ejemplo es cuando quieres números cero-se rellena con ceros a una longitud fija:
$objPHPExcel -> getActiveSheet() - > getCell('A1') -> setValue(19);
$objPHPExcel -> getActiveSheet() - > getStyle('A1') -> getNumberFormat()
-> setFormatCode('0000'); / / mostrará como 0019 en Excel
Punta
Las reglas para componer un número código de formato en Excel pueden ser bastante complicadas. A
veces usted sabe cómo crear un formato de número en Microsoft Office Excel, pero no sé cómo se ve el
código subyacente de formato número. ¿Cómo lo encuentras?
Los lectores envían con PHPExcel acudir al rescate. Carga tu libro de plantilla utilizando por ejemplo
Excel2007 lector para revelar el número de código de formato. Ejemplo de cómo leer un número código
de formato de celda A1:
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader -> load('template.xlsx');
var_dump ($objPHPExcel -> getActiveSheet() -> getStyle('A1') ->
getNumberFormat()
-> getFormatCode());
Los usuarios avanzados pueden encontrar más rápido para inspeccionar el número de código de formato
directamente por renombrar template.xlsx a template.zip, descomprimir y buscando la correspondiente
pieza de código XML con el número de código de formato enxl/styles.xml.
En Microsoft Office Excel, correspondería a la operación anterior para seleccionar las células
B2:G8, lanzando el cuadro de diálogo estilo, eligiendo un borde rojo grueso y haciendo clic en
el componente de frontera "Esquema".
Puede lograr cualquier efecto frontera usando sólo las fronteras básicas 5 y operan en una
sola célula a la vez:
Clave de la matriz Se asigna a la propiedad
izquierda getLeft()
derecho getRight()
Arriba getTop()
parte inferior getBottom()
diagonal getDiagonal()
Fronteras de accesos directos adicionales vienen práctico como en el ejemplo anterior. Estas
son las fronteras de método abreviado disponibles:
Una visión general de todos los métodos abreviados frontera puede verse en la siguiente
imagen:
Uno puede establecer un conjunto de reglas de estilo condicional a una celda usando el
siguiente código:
$objConditional1 = new PHPExcel_Style_Conditional();
$objConditional1 ->
setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS);
$objConditional1 ->
setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN);
$objConditional1 -> addCondition('0');
$objConditional1 -> getStyle() - > getFont() -> getColor() ->
setARGB(PHPExcel_Style_Color::COLOR_RED);
$objConditional1 -> getStyle() - > getFont() -> setBold(true);
Si desea copiar el conjunto de reglas a otras células, puede duplicar el objeto de estilo:
$objPHPExcel -> getActiveSheet() -> duplicateStyle ($objPHPExcel ->
getActiveSheet() -> getStyle('B2'), 'B3:B7');
Asegúrese
características dedeprotección
habilitar la
deprotección de la hoja
hoja de cálculo! Esto de cálculohacer
se puede si necesita alguna
utilizando de las código:
el siguiente
$objPHPExcel -> getActiveSheet() - > getProtection() -> setSheet(true);
El siguiente fragmento de código permite sólo un elemento seleccionado de una lista de datos
debe introducirse en la celda B3:
$objValidation = $objPHPExcel - > getActiveSheet() -> getCell('B5')
-> getDataValidation();
$objValidation -> setType (PHPExcel_Cell_DataValidation::TYPE_LIST);
$objValidation -> setErrorStyle
(PHPExcel_Cell_DataValidation::STYLE_INFORMATION);
$objValidation -> setAllowBlank(false);
$objValidation -> setShowInputMessage(true);
$objValidation -> setShowErrorMessage(true);
$objValidation -> setShowDropDown(true);
$objValidation -> setErrorTitle ('entrada error');
$objValidation -> setError ('valor no está en lista.');
$objValidation -> setPromptTitle ('Pick de lista');
$objValidation -> setPrompt ('por favor, tome un valor de la lista
desplegable.');
$objValidation -> setFormula1 ('"del artículo A, elemento B, artículo C" ');
Cuando usando una validación de datos lista como el anterior, asegúrense de poner la lista entre
"y" y dividió los elementos con una coma (,).
Es importante recordar que cualquier cadena participando en una fórmula Excel le permite tener
máximos 255 caracteres (no bytes). Este establece un límite de cuántos elementos te puede tener en la
cadena de "Elemento A, elemento B, artículo C". Por lo tanto, normalmente es una idea mejor que
escriba los valores del artículo directamente en un rango de celdas, dicen A1:A3 y utilizar en su lugar,
decir, $objValidation -> setFormula1('Sheet!$A$1:$A$3');. Otro beneficio es que los valores del elemento
se puede contener la coma ',' carácter mismo.
Si usted necesita validación de datos en varias celdas, uno puede clonar el conjunto de
reglas:
$objPHPExcel -> getActiveSheet() - > getCell('B8') -> setDataValidation (clon
$objValidation);
Si quieres será
PHPExcel PHPExcel para realizar
aproximado un cálculo
de la columna conautomático ancho,
el ancho del valorutilice el siguiente
de la columna máscódigo.
ancho.
$objPHPExcel -> getActiveSheet() - > getColumnDimension('B') ->
setAutoSize(true);
También puede contraer la columna. Tenga en cuenta que también debe definir la columna
invisible, de lo contrario el colapso no será visible en Excel 2007.
$objPHPExcel -> getActiveSheet() - > getColumnDimension('E') ->
setCollapsed(true);
$objPHPExcel -> getActiveSheet() - > getColumnDimension('E') ->
setVisible(false);
Por favor consulte la parte "grupo/contorno una fila" para obtener un ejemplo completo en
colapso.
Tenga en cuenta que si usted aplica filtros activos usando un Autofiltro, entonces esto anulará
todas las filas que ocultar o Mostrar manualmente dentro de ese rango de Autofiltro si guarda
el archivo.
4.6.33. Grupo/contorno una fila
Para grupo/contorno una fila, puede utilizar el código siguiente:
$objPHPExcel -> getActiveSheet() - > getRowDimension('5') ->
setOutlineLevel(1);
También puede contraer la fila. Tenga en cuenta que también debe definir la fila invisible, de
lo contrario el colapso no será visible en Excel 2007.
$objPHPExcel -> getActiveSheet() - > getRowDimension('5') ->
setCollapsed(true);
$objPHPExcel -> getActiveSheet() - > getRowDimension('5') ->
setVisible(false);
Puede indicar PHPExcel añadir un resumen debajo de las filas plegables (por defecto), o por
encima. El código siguiente agrega el Resumen anterior:
$objPHPExcel -> getActiveSheet() -> setShowSummaryBelow(false);
Para agregar el dibujo anterior a la hoja de cálculo, utilice el siguiente fragmento de código.
PHPExcel crea el vínculo entre el dibujo y la hoja de cálculo:
$objDrawing -> setWorksheet ($objPHPExcel -> getActiveSheet());
Puede establecer
$objDrawing -> numerosas propiedades en un dibujo, aquí hay algunos ejemplos:
setName('Paid');
$objDrawing -> setDescription('Paid');
$objDrawing -> setPath('./images/paid.png');
$objDrawing -> setCoordinates('B15');
$objDrawing -> setOffsetX(110);
$objDrawing -> setRotation(25);
$objDrawing -> getShadow() -> setVisible(true);
$objDrawing -> getShadow() -> setDirection(45);
También puede agregar imágenes creadas utilizando las funciones GD sin necesidad de
guardarlos en el disco primero como dibujos en memoria.
/ / Use GD para crear una imagen en la memoria
$gdImage = @imagecreatetruecolor (120, 20) or die ('no se puede inicializar
nuevas GD secuencia de imagen');
$textColor = imagecolorallocate ($gdImage, 255, 255, 255);
ImageString ($gdImage, 1, 5, 5, 'Created with PHPExcel', $textColor);
$objRichText
factura.); -> createText (', a menos que se especifique lo contrario en la
Opcionalmente, se puede pasar un cuarto parámetro definir el rango con nombre local (es
decir, sólo utilizables en la hoja de cálculo actual). Rangos con nombre son globales por
defecto.
Cabeceras HTTP
Ejemplo de un script redireccionar un archivo de Excel 2007 para el navegador del cliente:
<? php
/ * Aquí habrá algún código donde crear $objPHPExcel * /
/ / redirigir la salida a explorador cliente
header ('Content-Type: application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet');
header ('Content-Disposition: attachment;filename="myfile.xlsx"');
header ('Cache-Control: max-age = 0');
<?
/ *php
Aquí habrá algún código donde crear $objPHPExcel * /
PRECAUCIÓN:
Asegúrese de que no se incluyen las declaraciones de Eco o salida de cualquier otro
contenido que el archivo de Excel. No debe haber ningún espacio en blanco antes de
la apertura <? php tag y a lo sumo una línea rompen después del cierre? > etiqueta
(que también puede ser omitido para evitar problemas).
Asegúrese de que el guión está guardado sin un BOM (marca de orden de bytes).
(Porque esto cuenta como haciéndose eco de salida)
Mismas cosas se aplican a archivos todo incluidos
No seguir los lineamientos anteriores puede resultar en Excel corrupto arribando al navegador
del cliente, o los encabezados de los archivos no se puede establecer por PHP (resultando en
mensajes de advertencia).
Aquí hay un ejemplo que genera una imagen en la memoria y se agrega a la hoja de cálculo
activa:
/ / Generar una imagen
$gdImage = @imagecreatetruecolor (120, 20) or die ('no se puede inicializar
nuevas GD secuencia de imagen');
$textColor = imagecolorallocate ($gdImage, 255, 255, 255);
ImageString ($gdImage, 1, 5, 5, 'Created with PHPExcel', $textColor);
Piensa que createSheet() el botón de "Insertar hoja" en Excel. Cuando llegues a ese botón una nueva
hoja se agrega a la colección existente de hojas de cálculo en el libro.
A veces incluso es recomendable la hoja de cálculo para ser "muy oculto". Los Estados de
hoja disponibles son:
PHPExcel_Worksheet::SHEETSTATE_VISIBLE
PHPExcel_Worksheet::SHEETSTATE_HIDDEN
PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN
En Excel la hoja estado "muy oculto" sólo puede ser establecido mediante programación, por ejemplo
con Macro de Visual Basic. No es posible realizar tal una hoja visible mediante la interfaz de usuario.
Para calcular una fórmula, puede llamar a la celda que contiene el método de la fórmula
getCalculatedValue() , por ejemplo:
$objPHPExcel -> getActiveSheet() - > getCell('E11') -> getCalculatedValue();
Si usted escribe la siguiente línea de código en la factura demo incluida con PHPExcel, se
evalúa como el valor "64":
Otra característica interesante del analizador fórmula de PHPExcel, es que puede ajustar
automáticamente una fórmula al insertar o quitar filas o columnas. Aquí está un ejemplo:
Verás que la fórmula contenida en celda E11 es "SUM(E4:E9)". Ahora, cuando escribo la
siguiente línea de código, se añaden dos nuevas líneas de productos:
$objPHPExcel -> getActiveSheet() -> insertNewRowBefore (7, 2);
¿Notaste? La fórmula en la celda E11 (ahora E13, como he insertado 2 nuevas filas), cambió a
"SUM(E4:E11)". Además, las células insertadas duplican información de estilo de la celda
anterior, como comportamiento de Excel. Nota que ambos puedes insertar filas y columnas.
6.1. PHPExcel_IOFactory
La API PHPExcel ofrece varios métodos para crear una instancia de PHPExcel_Writer_IReader
o PHPExcel_Writer_IWriter:
Creación
Vía directa
PHPExcel_IOFactory
Todos los ejemplos debajo de demuestran el método de creación directa. Tenga en cuenta
que también puede utilizar la clase PHPExcel_IOFactory para hacerlo.
Un uso típico de esta característica es cuando tienes que leer los archivos subidos por los
usuarios, y no sabes si están cargando archivos xls o xlsx.
Si es necesario establecer algunas propiedades en el lector, (e.g. solamente leer datos, vea
más sobre esto más adelante), entonces en vez de eso querrá usar esta variante:
$objReader = PHPExcel_IOFactory::createReaderForFile("05featuredemo.xlsx");
$objReader -> setReadDataOnly(true);
$objReader -> load("05featuredemo.xlsx");
Nota ese tipo automático resolución modo es ligeramente más lento que el modo explicit.
$objReader ->=setReadDataOnly(true);
$objPHPExcel $objReader -> load("05featuredemo.xlsx");
devolver false;
}
}
6.2.2. PHPExcel_Writer_Excel2007
Escribir una hoja de cálculo
Puede escribir un archivo .xlsx utilizando el siguiente código:
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter -> save("05featuredemo.xlsx");
6.3.1. PHPExcel_Reader_Excel5
Leer una hoja de cálculo
Puede leer un archivo .xls utilizando el siguiente código:
$objReader = new PHPExcel_Reader_Excel5();
$objPHPExcel = $objReader -> load("05featuredemo.xls");
El siguiente código sólo leerá fila 1 y 20 – 30 filas de cualquier hoja en el archivo de Excel:
clase MyReadFilter implementa PHPExcel_Reader_IReadFilter
{
readCell de la función pública ($columna, $row, $worksheetName = '') {}
/ / Leen título filas y filas de 20-30
Si ($row == 1 || ($row > = 20 & & $row < = 30)) {
devuelve true;
}
devolver false;
}
}
6.3.2. PHPExcel_Writer_Excel5
Escribir una hoja de cálculo
Puede escribir un archivo .xls utilizando el siguiente código:
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter -> save("05featuredemo.xls");
6.4.1. PHPExcel_Reader_Excel2003XML
Leer una
Puede leer hoja de cálculo
un archivo .xml mediante el siguiente código:
$objReader = new PHPExcel_Reader_Excel2003XML();
$objPHPExcel = $objReader -> load("05featuredemo.xml");
El siguiente código sólo leerá fila 1 y 20 – 30 filas de cualquier hoja en el archivo de Excel:
clase MyReadFilter implementa PHPExcel_Reader_IReadFilter
{
readCell de la función pública ($columna, $row, $worksheetName = '') {}
/ / Leen título filas y filas de 20-30
Si ($row == 1 || ($row > = 20 & & $row < = 30)) {
devuelve true;
}
devolver false;
}
}
6.5.1. PHPExcel_Reader_SYLK
devolver false;
}
}
6.6.1. PHPExcel_Reader_OOCalc
Leer una hoja de cálculo
Puede leer un archivo .ods utilizando el siguiente código:
$objReader = new PHPExcel_Reader_OOCalc();
$objPHPExcel = $objReader -> load("05featuredemo.ods");
El siguiente código sólo leerá la fila 1 y filas 20 – 30 de cualquier hoja en el archivo de Calc:
clase MyReadFilter implementa PHPExcel_Reader_IReadFilter
{
readCell de la función pública ($columna, $row, $worksheetName = '') {}
/ / Leen título filas y filas de 20-30
Si ($row == 1 || ($row > = 20 & & $row < = 30)) {
devuelve true;
}
devolver false;
}
}
Limitaciones de CSV
Tenga en cuenta que el formato de archivo CSV tiene algunos límites en cuanto a estilo celdas, formato,
número...
6.7.1. PHPExcel_Reader_CSV
Lectura de un archivo CSV
Puede leer un archivo .csv usando el siguiente código:
$objReader = new PHPExcel_Reader_CSV();
$objPHPExcel = $objReader -> load("sample.csv");
6.7.2. PHPExcel_Writer_CSV
Escribir un archivo CSV
Puede escribir un archivo .csv usando el siguiente código:
$objWriter = new PHPExcel_Writer_CSV($objPHPExcel);
$objWriter -> save("05featuredemo.csv");
De forma predeterminada PHPExcel busca en configuración regional del servidor para decidir
qué caracteres para utilizar. Pero para evitar problemas se recomienda establecer los
caracteres explícitamente como se muestra a continuación.
Tenga en cuenta que el código anterior establece decimales y separadores de mil opciones
como globales. Esto también afecta a cómo se exporta HTML y PDF.
6.8. HTML
PHPExcel permite leer o escribir una hoja de cálculo en formato HTML, para la representación
rápida de los datos en él a alguien que no tiene una hoja de cálculo en su PC, o cargar
archivos salvados por otros scripts que simplemente crean código HTML y le dan una extensión
de archivo .xls.
Limitaciones de HTML
Tenga en cuenta que el formato de archivo HTML tiene algunos límites en cuanto a estilo celdas,
formato, número...
6.8.1. PHPExcel_Reader_HTML
Leer una hoja de cálculo
Puede leer un archivo .html o .htm mediante el siguiente código:
$objReader = new PHPExcel_Reader_HTML();
$objPHPExcel = $objReader -> load("05featuredemo.html");
Limitaciones de HTML
Tenga en cuenta que lector HTML aún es experimental y no todavía admite las celdas combinadas ni
tablas anidadas limpiamente
6.8.2. PHPExcel_Writer_HTML
Tenga en cuenta que PHPExcel_Writer_HTML sólo los resultados de la primera hoja de cálculo
predeterminada.
<? php
echo $objWriter -> generateStyles(false); / / No escriba < style > y < /
estilo >
?>
-->
< / estilo >
<? php
echo $objWriter -> generateSheetData();
echo $objWriter -> generateHTMLFooter();
?>
6.9. PDF
PHPExcel le permite escribir una hoja de cálculo en formato PDF, para la rápida distribución
de datos mentionadas.
Limitaciones de PDF
Tenga en cuenta que el formato de archivo PDF tiene algunos límites en cuanto a estilo celdas, formato,
número...
6.9.1. PHPExcel_Writer_PDF
PDF Writer de PHPExcel es un contenedor para un 3rd-biblioteca partido PDF Rendering como
tcPDF, mPDF o DomPDF. Antes de la versión puntos 1.7.8 de PHPExcel, la librería tcPDF
estaba integrada con PHPExcel; Pero desde la versión puntos 1.7.8 esto fue quitada. Por el
contrario, debe ahora instalar una biblioteca PDF Rendering Pero PHPExcel trabajará con un
número de diferentes bibliotecas.
En la actualidad, se soportan las siguientes bibliotecas:
Versión
usada
para la PHPExcel interna
Biblioteca prueba Descargable desde constante
tcPDF 5.9 http://www.TCPDF.org/ PDF_RENDERER_TCPDF
mPDF 5.4 http://www.mpdf1.com/mpdf/ PDF_RENDERER_MPDF
domPDF 0.6.0 beta http://code.google.com/p/dompdf/ PDF_RENDERER_DOMPDF
3
Tenga en cuenta que PHPExcel_Writer_PDF sólo los resultados de la primera hoja de cálculo
predeterminada.
$objWorksheet
$objWorksheet ->
-> getCell('A1')
getCell('A2') ->
-> setValue('John');
setValue('Smith');
Observe que está bien para cargar un archivo xlsx y generar un archivo xls.
7. Créditos
Por favor consulte la página de internet
http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Home para
créditos hasta la fecha.
Apéndice A: claves de matriz válida para estilo
applyFromArray()
La tabla siguiente enumeran los keys válidas para las clases de applyFromArray() de
PHPExcel_Style. Si la columna "Se asigna a la propiedad" asigna una clave a un setter, se
aplicará directamente el valor de esa clave. Si la columna "Se asigna a la propiedad" asigna
una clave a un comprador, se aplicará el valor de esa clave como matriz de otro estilo.
PHPExcel_Style
Clave de la matriz: Se asigna a la propiedad:
relleno
fuente getFill()
getFont()
fronteras getBorders()
alineación getAlignment()
NumberFormat getNumberFormat()
protección getProtection()
PHPExcel_Style_Fill
Clave de la matriz: Se asigna a la propiedad:
tipo setFillType()
rotación setRotation()
StartColor getStartColor()
EndColor getEndColor()
Color getStartColor()
PHPExcel_Style_Font
Clave de la matriz:
nombre Se asigna a la propiedad:
setName()
negrita setBold()
cursiva setItalic()
subrayado setUnderline()
huelga setStrikethrough()
Color getColor()
tamaño método setSize()
Superíndice setSuperScript()
Subíndice setSubScript()
PHPExcel_Style_Borders
Clave de la matriz: Se asigna a la propiedad:
allborders getLeft(); getRight(); getTop(); getBottom()
izquierda getLeft()
derecho getRight()
Arriba getTop()
parte inferior getBottom()
diagonal getDiagonal()
vertical getVertical()
horizontal getHorizontal()
diagonaldirection setDiagonalDirection()
esquema setOutline()
PHPExcel_Style_Border
Clave de la matriz: Se asigna a la propiedad:
estilo setBorderStyle()
Color getColor()
PHPExcel_Style_Alignment
Clave de la matriz: Se asigna a la propiedad:
horizontal setHorizontal()
vertical setVertical()
rotación setTextRotation()
abrigo setWrapText()
shrinkToFit setShrinkToFit()
guión setIndent()
PHPExcel_Style_NumberFormat
Clave de la matriz: Se asigna a la propiedad:
Código setFormatCode()
PHPExcel_Style_Protection
Clave de la matriz: Se asigna a la propiedad:
bloqueado setLocked()
escondido setHidden()
[1]
Debe tener habilitado para que PHP utilizar esta opción APC.
[2]
Debe tener un servidor memcache y han permitido memcache para tu PHP utilizar esta
opción.
[3]
Debe tener habilitado para que PHP utilizar esta opción de Wincache.