setformatcode phpexcel_style_numberformat number moneda getnumberformat formato format_date_ddmmyyyy format_currency_usd_simple php formatting phpexcel percentage

phpexcel_style_numberformat - Formato de una celda a un porcentaje en PHPExcel



phpexcel_style_numberformat:: format_currency_usd_simple (3)

Estoy automatizando una hoja de cálculo de Excel usando PHP.

He estado buscando una manera de formatear pragmáticamente una celda a un porcentaje en PHPExcel.

Quiero cambiar un valor como

0.077922078

a

8%

¿Existe alguna solucion para esto?

Gracias por adelantado.


La biblioteca PHPExcel ha predefinido solo unas pocas constantes básicas de formato. En realidad, puedes construir el tuyo para prácticamente cualquier propósito (colorear, dar formato a decimales y miles, etc.). Las capacidades de formateo en Excel son enormes. A continuación se formateará el porcentaje con 3 decimales y coloreando los valores negativos a rojo:

$workSheet ->getStyleByColumnAndRow($column, $row) ->getNumberFormat() ->setFormatCode(''0.000%;[Red]-0.000%'');


Puedes probar este código:

$colLetter = "A"; $rowNumber = "1"; $objPHPExcel->getActiveSheet() ->getStyle("$colLetter:$rowNumber") ->getNumberFormat() ->applyFromArray([ "code" => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE ]);


asumiendo que tu celular es A1 ..

$objPHPExcel->getActiveSheet()->getStyle(''A1'') ->getNumberFormat()->applyFromArray( array( ''code'' => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00 ) );