miércoles, 1 de febrero de 2017

PHPExcel Diseño

Con la intención de ayudar a las personas que quieren que sus hojas de estilo excel sean algo mas que simples diseños que al momento de ser impresos no se vean como una forma de salir del paso, haciendo aveces que los usuarios que reciben el documento les toque acomodar celdas pues parte del texto no cabe en ellas o se molestan pues no se ve organizado incluso he visto algunos excel de una sola fila en la que colocan todo y la verdad esto, no es que sea vea muy agradable, por eso les dejare las siguientes lineas de código con las que podrán hacer el diseño que quieran de sus hojas de estilos excel.

Lo primero que deben hacer es descargar la librería aquí les dejo en enlace de la pagina oficial en donde también encontraran mucha información de esta librería.
https://phpexcel.codeplex.com/

Bordes de las celdas

$objPHPExcel->setActiveSheetIndex(0)
->getStyle("A1:J9")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->setActiveSheetIndex(0)
->getStyle("A1:J9")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->setActiveSheetIndex(0)
->getStyle("A1:J9")->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->setActiveSheetIndex(0)
->getStyle("A1:J9")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

Combinar celdas

$objPHPExcel->setActiveSheetIndex(0) ->mergeCells('A1:J9');


Alinear texto

Si lo que queremos es que nuestro texto en todo el centro de la celda, en este caso en esta celda combinada usaremos el siguiente código:

$objPHPExcel->setActiveSheetIndex(0)
->getStyle('A1:J9')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0)
->getStyle('A1:J9')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);


Tamaño del texto


$objPHPExcel->setActiveSheetIndex(0)
->getStyle("A1:J9")->getFont()->setSize(72);


Color de fondo

function cellColor($cells,$color){
    global $objPHPExcel;

    $objPHPExcel->setActiveSheetIndex(0)->getStyle($cells)->getFill()->applyFromArray(array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
             'rgb' => $color
        )
    ));
}
cellColor('A1:j9', '00B050');


color de texto

$objPHPExcel->setActiveSheetIndex(0)
->getStyle('A1:j9')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);


Y con esto hemos terminado continuación les dejare otros códigos que de seguro les serán de utilidad.

Celdas multilinia texto

$objPHPExcel->setActiveSheetIndex(0)
->getStyle('C8:E9')->getAlignment()->setWrapText(true);

Ancho y alto de las celdas

$objPHPExcel->setActiveSheetIndex(0)
->getColumnDimension('A')->setWidth(4,71);

$objPHPExcel->setActiveSheetIndex(0)
->getRowDimension('8')->setRowHeight(33);

Bueno esto es todo muchas gracias y espero que les sea de gran ayuda, dejen sus comentarios y asta la próxima.





No hay comentarios:

Publicar un comentario