Resumen PHPExcel método común de importación y exportación

Recientemente los requisitos del sistema de gestión de back office de la empresa, los datos de exportación el uso de hojas de cálculo Excel PHP, tan especial compiló un método comúnmente utilizado para su referencia:

PHPExcel pack de expansión Dirección: https://github.com/wanqianworld/phpexcel-1.8

Más o menos dividido en varias partes:

En primer lugar, el método para derivar y los pasos

1. introducido archivo PHPExcel: require_once ( "../Classes/PHPExcel.php" );
 2. Ejemplos de PHPExcel: $ ObjPHPExcel = nueva nueva PHPExcel ();
 3. Obtener Hoja de Trabajo actual: $ ObjPHPExcel -> getACtiveSheet ();
 . 4 . proporcionado por la actual hoja de cálculo: $ ObjPHPExcel -> setTitle ( 'hoja de nombre de la tabla' );
 asignación de los datos 5. Añadir: $ ObjPHPExcel -> setCellValue (coordenadas de la celda '', 'valor' );
 6. el formato especificado archivo de generación de excel: $ ObjPHPExcel -> PHPExcel_IOFactory :: createWriter ( $ ObjPHPExcel , 'Excal5' );
 7. El Guardar archivos de Excel: $ ObjPHPExcel -> Guardar ( "ruta y el nombre para guardar ' );
 8. cabecera Si desea generar un archivo de Excel salida de archivo en el navegador:
        Excel5 necesidad de añadir el siguiente código:
          -age = 0"( "El tipo de contenido: aplicación de archivo / vnd.ms-Excel"); // archivo Excel03 salida 
         de cabecera ( " el Content-Disposition: attachment; filename = Prueba.xls); 
         cabecera ( " el contenido Control-: max -age = 0 " );
         $ ObjPHPExcel -> Save (" PHP: // la salida "); 
        necesidad Excel7 añadir el siguiente código:
          cabecera (" Content-del tipo: la Solicitud / vnd.openxmlformats-officedocument.spreadsheetml.sheet "); // archivo de salida Excel07 
         cabecera ( " Content-Disposition: attachment; filename = test.xlsx '); // el nombre del explorador de archivos de salida 
         de cabecera ( " el contenido tecla Control: max// Desactivar la caché del navegador $ ObjPHPExcel); // desactivar la caché del navegador
        -> Guardar ( "php: // output");

Dos, control de estilo Excel

1. Combinar celdas: $ ObjPHPExcel -> getActiveSheet () -> MergeCells ( 'A18: E22' );
 2. Dividir Celular: $ ObjPHPExcel -> getActiveSheet () -> unmergeCells ( 'A18: E22' );
 . 3 conjunto de celda predeterminado centrado horizontalmente: $ ObjPHPExcel -> getDefaultStyle () -> getAlignment () -> setHorizontal (PHPExcel_Style_Alignment :: HORIZONTAL_CENTER);
 4. predeterminado unidad de bastidor vertical dispuesta centralmente: $ ObjPHPExcel -> getDefaultStyle () -> getAlignment () -> setvertical (PHPExcel_Style_Alignment :: VERTICAL_CENTER);
 5. Ajuste el estilo de fuente por defecto: tipo de letra: $ ObjPHPExcel -> getDefaultStyle () -> getFont () -> setName ( 'Microsoft elegante negro' ); 
        tamaño de la fuente: $ ObjPHPExcel -> getDefaultStyle () -> getFont () ->la setSize (14 );
 6. El conjunto de estilos de fuentes especificados:$ ObjPHPExcel -> getStyle ( 'A18: E22') -> getFont () -> setName ( 'Microsoft elegante negro' ); 
        tamaño de la fuente: $ ObjPHPExcel -> getStyle ( 'A18: E22') -> getFont () -> setSize (14 );
 7. el ajuste de color de fondo: el llenado de modo (completamente llena): $ objPHPExcel -> el getStyle ( 'B2') -> getFill () -> setFillType (PHPExcel_Style_Fill :: FILL_SOLID); 
        color de relleno: $ objPHPExcel -> la getStyle ( 'B2') -> getFill () -> getStartColor () -> setARGB ( 'FFFF0000' );
 8. el marco de configuración:
     $ styleArray = array (
         'fronteras' => array (
             'Esbozo' =>array (
                 'estilo' => PHPExcel_Style_Border :: BORDER_THICK, 
                'color' => array( 'ARGB' => 'FFFF0000'), 
            ) , 
        ) , 
    ); 
    $ objWorksheet -> el getStyle ( 'B2: para G8') -> applyFromArray ( $ styleArray ); 
    método () llamada getStyle, los parámetros pueden ser por matriz camino de entrada. 
9. Resumen: 
  Abierta Resumen: $ objPHPExcel -> getActiveSheet () -> el getStyle ( 'A1') -> getAlignment () -> setWrapText ( true ); add \ n valores necesitan cambiar la fila, y luego a la envoltura : $ objPHPExcel -> getActiveSheet () -> getCell ( 'A1') -> el setValue ( "Hola \ Nworld" ); 10. las células de formato:
  el establecimiento de cadena de formato de celda (ID solución viable para el formato de número de teléfono notación científica): $ objPHPExcel-> getActiveSheet () -> getCell ( 'A1') -> setValueExplicit ('25' , PHPExcel_Cell_DataType :: TYPE_STRING);

 

En tercer lugar, añadir una imagen, una marca

1. imagen Añadir:
         $ objSheet = $ ObjPHPExcel -> getActiveSheet (); // // Obtener la actual tabla de hoja de 
        $ ObjDrawing = nueva nueva PHPExcel_WorkSheet_Drawing (); // obtener una imagen del objetivo de la operación 
        $ ObjDrawing -> setPath ( "Ruta de imagen" ); // caminos de imagen de carga 
        $ ObjDrawing -> setCoordinates ( 'F5'); // establecer la imagen en la esquina izquierda 
        $ ObjDrawing -> setWidth (500); // establecer el ancho de la imagen (escala geométrica) 
        $ ObjDrawing -> setHeight (100); // establecer la altura de la imagen (escala geométrica) y el conjunto si el ancho y la altura, dos imágenes de escala geométricas notarán aquí 
        $ ObjDrawing -> setOffsetX (20 es); // el desplazamiento se celdas de conjunto no exceda el ancho de la celda, de lo contrario no válida 
        $ ObjDrawing-> setOffsetY (20 es); // Establecer el desplazamiento dentro de la célula, la célula no puede exceder la altura, de lo contrario no válida 
        $ ObjDrawing -> setWorkSheet ( $ objSheet ); // la imagen en la hoja 
2. añadir bloques de texto enriquecido ( Ese texto se proporciona dentro de una célula de un estilo diferente)
         $ ObjRichtext = nueva nueva PHPExcel_RichText (); // obtener un bloque de destino de la operación de texto 
        $ ObjRichtext -> CreateText ( 'texto'); // añadir texto normal 
        $ ObjStyleFont = $ ObjRichtext - > createTextRun ( "necesidad de modificar el formato de texto"); // añadir la necesidad de modificar el estilo del texto 
        $ ObjStyleFont -> getFont () -> setSize (16) -> setBold ( Verdadero ); // establecer el estilo de texto 
        $ ObjRichtext -> CreateText ( 'texto');//Añadir texto normal 
        $ objSheet -> getCell ( 'A4') -> el setValue ( $ ObjRichtext ); // bloque de texto en la hoja 
3. Anotaciones :( Nota: las anotaciones añadiendo Excel2007 es compatible arriba)
         $ objSheet -> getComment ( "F4") -> el gettext () -> createTextRun ( 'contenido de anotación' );
 4. hipervínculo:
         $ objSheet -> setCellValue ( 'Bl', 'Baidu' );
         $ objSheet -> getCell ( 'B1') -> getHyperlink ( ) -> setURL ( "https://www.baidu.com");

 

Cuatro, para generar un informe gráfico (línea, empanada, cilíndrica, región, etc.)
    Esto es más contenido, el uso diario puede ser menos, yo no le otorgan resumen, pero se puede ver ejemplos de archivos PHP en el directorio Examples PHPExcel paquete de extensión, hay una gran cantidad de demostración, el comentario también es muy clara.
 
Cinco, Excel Importar archivo (a plena carga)
1. La introducción de archivo de exportación PHPExcel: require_once ( "../Classes/PHPExcel/IOFactory.php" );
 2. la necesidad de cargar archivos de Excel en Excel: $ ObjPHPExcel -> :: Load (PHPExcel_IOFactory $ archivo );
 3. Obtener archivo de Excel en el número de hoja: $ SheetCount = $ ObjPHPExcel -> getSheetCount ();
 4. atravesar la hoja, la hoja de datos de la composición de toda la matriz:
     por ( $ I = 0; $ I < $ SheetCount ; $ I ++ ) {
         dataArray es $ = $ ObjPHPExcel -> getSheet ( $ I ) -> toArray (); 
    }
 5.. método de arriba se pueden obtener todos los datos en Excel, tales como la necesidad de filtro a través de los datos, de la siguiente manera:
    foreach ($ ObjPHPExcel -> getWorksheetIterator   AS   $ hoja ) {
             foreach ( $ ObjPHPExcel -> getRowIterator   AS   $ fila ) {
                     SI ( $ fila -> getRowIndex () <3. ) {
                             Continuar ; 
                    } // obtener el número de línea, sólo la tercera obtener los datos después de la línea 
                    del foreach ( $ ObjPHPExcel -> getCellIterator   AS  $ células ) {
                             $ data = $ células  -> el getValue ();// obtener datos célula 
                    }
            } 
    }

 

Seis, Excel Importar archivo (carga parcial)

1. Obtener los tipos de archivo de Excel (XLS \ XLSX ...): $ file_type = :: PHPExcel_IOFactory la Identificar ( $ archivo );
 2. la adquisición de operación de destino de lectura de documentos: $ objLector = PHPExcel_IOFactory :: CreateReader ( $ file_type );
 3.. especifica el nombre de la hoja cargada: $ SheetName = arrat ( 'Sheet1', 'Sheet2' );
 4. la carga nombre de la hoja de datos: $ objLector -> setLoadSheetsOnly ( $ SheetName );

 

Debe tenerse en cuenta que PHPExcel ocupan mucha memoria, sin una configuración especial, la célula leer la información almacenada en la memoria PHPExcel, una celda ocupada por alrededor de 1 KB.

Para abordar el tema de la huella de la memoria:

1. Puede utilizar :: PHPExcel_Settings setCacheStorageMethod () para establecer diferente manera caché, tiene el propósito de reducir el consumo de memoria! Tenga en cuenta que: Debe añadir antes de que el nuevo objeto PHPExcel.
2. La secuencia de los datos de la celda almacenados en la memoria      
  PHPExcel_CachedObjectStorageFactory :: cache_in_memory_serialized; 3. la secuencia de células para gzip comprime y se almacena en la memoria
  PHPExcel_CachedObjectStorageFactory :: cache_in_memory_gzip; 4. almacenan en un archivo de disco temporal , la velocidad puede ser más lenta
  PHPExcel_CachedObjectStorageFactory :: cache_to_discISAM; 5. Guardar en PHP: // TEMP   PHPExcel_CachedObjectStorageFactory :: cache_to_phpTemp; 6. salvamento en memcache en
  PHPExcel_CachedObjectStorageFactory :: cache_to_memcache.

He aquí dos ejemplos de pequeña huella de memoria para lidiar con el problema:

EG1:
         $ cacheMethod = PHPExcel_CachedObjectStorageFactory :: cache_to_phpTemp; // formas de caché seleccionados 
        $ CacheSettings = array ( 'memoryCacheSize' => '16MB'); // tampón proporcionado 
        PHPExcel_Settings :: setCacheStorageMethod ( $ cacheMethod , $ CacheSettings ); // establecer el caché 
        objPHPExcel $ = nueva nueva PHPExcel (); 
EG2: 
    $ cacheMethod = PHPExcel_CachedObjectStorageFactory :: cache_to_memcache; // seleccionados formas de caché 
    $ CacheSettings = array (
             'memcacheServer' => 'localhost', 
            'memcachePort' => 11211,
            'CacheTime' => 600 
    ); // Memcache caché configuración 
    PHPExcel_Settings :: setCacheStorageMethod ( $ cacheMethod , $ CacheSettings ); // establece la memoria caché

 

Estos pueden satisfacer básicamente las necesidades diarias del desarrollo, si quieres requisitos más complejos, podemos ver ejemplos de archivos PHP en el directorio Examples PHPExcel paquete de extensión, hay una gran cantidad de demostración, el comentario también es muy clara. O leer el documento oficial PHPExcel.

 

 
 

Supongo que te gusta

Origin www.cnblogs.com/yuanwanli/p/12617066.html
Recomendado
Clasificación