2013-05-07 13 views
16

Sto automatizzando un foglio di calcolo Excel utilizzando PHP.Formattazione di una cella in percentuale in PHPExcel

Ho cercato un modo per formattare pragmaticamente una cella in percentuale in PHPExcel.

voglio cambiare un valore come

0,077922078

a

8%

C'è una soluzione per questo?

Grazie in anticipo.

+0

è possibile utilizzare ceil() per arrotondare al più vicino numero e di accodare% prima inserendolo nel tuo file excel..http: //php.net/manual/en/function.ceil.php – Dinesh

risposta

32

supponendo che il cellulare è A1 ..

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

Suppongo che per ottenere una percentuale diritta, cioè il 2%, devo rimuovere il modulo _00 FORMAT_PERCENTAGE_00? – cwiggo

+0

Funziona comunque in modo reputazione ++ :) Grazie – cwiggo

+0

@Chris non dimenticare di contrassegnare come risposta –

1

biblioteca PHPExcel ha predefinito solo poche costanti di formattazione di base. È possibile creare il proprio per praticamente qualsiasi scopo (colorazione, decimali di formattazione & ecc.). Le funzionalità di formattazione in Excel sono enormi. In seguito sarà formato per cento con 3 cifre decimali e la colorazione valori negativi in ​​rosso:

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

Si può provare questo codice:

$colLetter = "A"; 
$rowNumber = "1"; 

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

Dovresti aggiungere una spiegazione di ciò che la tua risposta aggiunge all'altra. –

+0

Sì, certo che hai ragione @gp_sflover, ma ho pensato che questo pezzo di codice fosse auto-descrittivo :) – simhumileco

Problemi correlati