PHPEXCEL es una muy poderosa biblioteca de clases de generación de documentos de MS Office Excel. Cuando es necesario obtener datos de formato relativamente complejos, PhPEXCELE es una buena opción. Sin embargo, su uso es relativamente complicado. Lista para grabarlo.
La copia del código es la siguiente:
<?
// Establecer la ruta de inclusión de la biblioteca de clases PhPexcel
set_include_path ('.'. Path_separator.
'D:/ZEAL/PHP_LIBS'. Path_separator.
get_include_path ());
/**
* El siguiente es un ejemplo de uso. Para las líneas que comienzan con ////, existen diferentes métodos opcionales. Úselos de acuerdo con las necesidades reales.
* Abra el comentario en la línea correspondiente.
* Si usa Excel5, la salida debe estar codificada GBK.
*/
require_once 'phpexcel.php';
// desenchufado
//// Request_once 'PhPexcel/Writer/Excel5.php'; // utilizado para otras versiones inferiores de XLS
// o
//// request_once 'phpexcel/escritor/Excel2007.php'; // para formato Excel-2007
// Crear una instancia de objeto de procesamiento
$ objexcel = new PhPExcel ();
// Crear formato de archivo para escribir una instancia de objeto, Uncomment
//// $ objwriter = new PhPexcel_Writer_Excel5 ($ objexcel); // utilizado para otros formatos de versión
// o
//// $ objwriter = new Phpexcel_writer_excel2007 ($ objexcel); // para el formato 2007
// $ objwriter-> setOffice2003Compatibility (true);
// ******************************************************************
// Establecer propiedades básicas del documento
$ objprops = $ objexcel-> getProperties ();
$ objprops-> setCreator ("Zeal Li");
$ objprops-> setLastModifiedBy ("Zeal Li");
$ objprops-> settitle ("Documento de prueba de Office XLS");
$ objprops-> setSubject ("Documento de prueba de Office XLS, demostración");
$ objprops-> setDescription ("Documento de prueba, generado por PhPExcel");
$ objprops-> setKeywords ("Office Excel PhPexcel");
$ objprops-> setCategory ("test");
// ******************************************************************
// Establecer el índice de hoja actual para operaciones de contenido posteriores.
// En general, la llamada solo se necesita cuando se usan múltiples hojas.
// De forma predeterminada, PhPExcel creará automáticamente la primera hoja y establecerá el sheetIndex = 0
$ obtexcel-> setActivesHeetIndex (0);
$ objactsheet = $ obtexcel-> getActivesheet ();
// Establecer el nombre de la hoja activa actual
$ objactsheet-> settitle ('hoja de prueba');
// ******************************************************************
// Establecer contenido de celda
//
// PhPExcel determina automáticamente el tipo de contenido de la celda en función del contenido entrante
$ objactsheet-> setCellValue ('a1', 'string content'); // contenido de cadena
$ objactsheet-> setCellValue ('a2', 26); // Valor
$ objactsheet-> setCellValue ('a3', true); // valor booleano
$ objactsheet-> setCellValue ('a4', '= sum (a2: a2)'); // Fórmula
// explicativo especifique el tipo de contenido
$ objactsheet-> setCellValueExplicit ('A5', '847475847857487584',
Phpexcel_cell_datatype :: type_string);
// Fusionar células
$ objactSheet-> MergeCells ('B1: C22');
// células separadas
$ objactsheet-> unmergecells ('b1: c22');
// ******************************************************************
// establecer estilo celular
//
// establecer ancho
$ objactsheet-> getColumnDimension ('b')-> setAUTOSIZE (true);
$ objactsheet-> getColumnDimension ('a')-> setWidth (30);
$ objStylea5 = $ objactsheet-> getStyle ('a5');
// Establecer el formato de número del contenido de la celda.
//
// Si se usa phpexcel_writer_excel5 para generar contenido,
// Tenga en cuenta aquí que la variable const definida en la clase phpexcel_style_numberformat
// Entre varios métodos de formato personalizados, otros tipos se pueden usar normalmente, pero cuando SetFormatCode
// Cuando es format_number, el efecto real no se establece en "0". necesidad
// modifica el método getxf ($ style) en el código fuente de la clase phpexcel_writer_excel5_format,
// Agregar uno antes if ($ this-> _ biff_version == 0x0500) {(cerca de la línea 363)
// Código de línea:
// if ($ ifmt === '0') $ ifmt = 1;
//
// Establezca el formato en phpexcel_style_numberformat :: format_number para evitar algunos números grandes
// Se muestra utilizando el método de conteo científico. Junto con el siguiente método setAutosize, se puede hacer el contenido de cada línea
// Todos se muestran de acuerdo con el contenido original.
$ objstylea5
-> getNumberFormat ()
-> setFormatCode (phpexcel_style_numberformat :: format_number);
// Fuente establecida
$ objfonta5 = $ objStylea5-> getFont ();
$ objfonta5-> setName ('Courier New');
$ objfonta5-> setSize (10);
$ objfonta5-> setbold (true);
$ objfonta5-> setunderline (phpexcel_style_font :: underline_single);
$ objfonta5-> getColor ()-> setargb ('ff99999999');
// Establecer la alineación
$ objaligna5 = $ objStylea5-> getAlignment ();
$ objaligna5-> sethorizontal (phpexcel_style_alignment :: horizontal_right);
$ objaligna5-> setVerical (phpexcel_style_alignment :: vertical_center);
// establecer el borde
$ objBorderda5 = $ objStylea5-> getBorders ();
$ objborderda5-> getTop ()-> setBorderStyle (phpexcel_style_border :: border_thin);
$ objBorderDera5-> getTop ()-> getColor ()-> setargb ('ffff0000'); // color
$ objborderda5-> getBottom ()-> setBorderStyle (phpexcel_style_border :: border_thin);
$ objBorderDera5-> getleft ()-> setBorderStyle (phpexcel_style_border :: border_thin);
$ objborderda5-> getRight ()-> setBorderStyle (phpexcel_style_border :: border_thin);
// establecer color de relleno
$ objfilla5 = $ objStylea5-> getFill ();
$ objfilla5-> setFillType (phpexcel_style_fill :: fill_solid);
$ objfilla5-> getStartColor ()-> setargb ('ffeeeeee');
// Copiar información de estilo de la celda especificada.
$ objactsheet-> duplicateStyle ($ objStylea5, 'b1: c22');
// ******************************************************************
// Agregar imágenes
$ objdrawing = new PhPExcel_worksheet_drawing ();
$ objdrawing-> setName ('Zealimg');
$ objdrawing-> setDescription ('imagen insertada por celo');
$ objdrawing-> setPath ('./ zeali.net.logo.gif');
$ objdrawing-> setheight (36);
$ objdrawing-> setCoordinates ('c23');
$ objdrawing-> setOffSetX (10);
$ objdrawing-> setrotation (15);
$ objdrawing-> getShadow ()-> setVisible (true);
$ objdrawing-> getShadow ()-> setDirection (36);
$ objdrawing-> setworksheet ($ objactsheet);
// Agregar una nueva hoja de trabajo
$ obtexcel-> createSheet ();
$ obtexcel-> getSheet (1)-> settitle ('prueba 2');
// proteger la celda
$ obtexcel-> getSheet (1)-> getProtection ()-> setsheet (true);
$ obtexcel-> getSheet (1)-> ProtectCells ('a1: c22', 'phpexcel');
// ******************************************************************
// Contenido de salida
//
$ outputFileName = "output.xls";
// para archivar
//// $ objwriter-> save ($ outputFileName);
//o
// al navegador
//// Header ("Content-Type: Application/Force-Download");
//// Header ("Content-Type: Application/Octet-stream");
//// Header ("Content-Type: Application/Download");
////header('content-disposition:inline ;fileName="'.$OutputFileName. '"');
//// Header ("Content-Transfer-Engoding: Binary");
//// Header ("Expires: Lun, 26 de julio de 1997 05:00:00 GMT");
//// Header ("Last-Modified:". Gmdate ("D, D myh: i: s"). "Gmt");
//// Header ("Cache-Control: must-revalidate, post-check = 0, pre-check = 0");
//// Header ("Pragma: No-Cache");
//// $ objwriter-> save ('php: // output');
?>