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");
?>