todos texto moneda medio los justificar formato centrar celda bordes alinear ajustar php phpexcel

moneda - phpexcel centrar texto



Cómo centrar el texto en la celda fusionada PHPExcel (5)

Cuando usé columnas combinadas, lo centré usando PHPExcel_Style_Alignment :: HORIZONTAL_CENTER_CONTINUOUS en lugar de PHPExcel_Style_Alignment :: HORIZONTAL_CENTER

¿Cómo centrar el texto "test"?

Este es mi código:

<?php /** Error reporting */ error_reporting(E_ALL); ini_set(''display_errors'', TRUE); ini_set(''display_startup_errors'', TRUE); date_default_timezone_set(''Europe/London''); /** Include PHPExcel */ require_once ''../Classes/PHPExcel.php''; $objPHPExcel = new PHPExcel(); $sheet = $objPHPExcel->getActiveSheet(); $sheet->setCellValueByColumnAndRow(0, 1, "test"); $sheet->mergeCells(''A1:B1''); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ''Excel2007''); $objWriter->save("test.xlsx");

Documento de salida de Excel:


La solución es establecer el estilo de celda a través de esta función:

$sheet->getStyle(''A1'')->getAlignment()->applyFromArray( array(''horizontal'' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,) );

Codigo completo

<?php /** Error reporting */ error_reporting(E_ALL); ini_set(''display_errors'', TRUE); ini_set(''display_startup_errors'', TRUE); date_default_timezone_set(''Europe/London''); /** Include PHPExcel */ require_once ''../Classes/PHPExcel.php''; $objPHPExcel = new PHPExcel(); $sheet = $objPHPExcel->getActiveSheet(); $sheet->setCellValueByColumnAndRow(0, 1, "test"); $sheet->mergeCells(''A1:B1''); $sheet->getStyle(''A1'')->getAlignment()->applyFromArray( array(''horizontal'' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,) ); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ''Excel2007''); $objWriter->save("test.xlsx");


Si desea alinear solo estas celdas, puede hacer algo como esto:

$style = array( ''alignment'' => array( ''horizontal'' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ) ); $sheet->getStyle("A1:B1")->applyFromArray($style);

Pero, si desea aplicar este estilo a todas las celdas, intente esto:

$style = array( ''alignment'' => array( ''horizontal'' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ) ); $sheet->getDefaultStyle()->applyFromArray($style);


También podemos establecer la alineación vertical utilizando de esta manera.

$style_cell = array( ''alignment'' => array( ''horizontal'' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ''vertical'' => PHPExcel_Style_Alignment::VERTICAL_CENTER, ) );

con esta celda establece la alineación vertical en el medio.


<?php /** Error reporting */ error_reporting(E_ALL); ini_set(''display_errors'', TRUE); ini_set(''display_startup_errors'', TRUE); date_default_timezone_set(''Europe/London''); /** Include PHPExcel */ require_once ''../Classes/PHPExcel.php''; $objPHPExcel = new PHPExcel(); $sheet = $objPHPExcel->getActiveSheet(); $sheet->setCellValueByColumnAndRow(0, 1, "test"); $sheet->mergeCells(''A1:B1''); $sheet->getActiveSheet()->getStyle(''A1:B1'')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ''Excel2007''); $objWriter->save("test.xlsx"); ?>