2013-05-07 207 views
16

我使用PHP自動化Excel電子表格。將單元格格式化爲PHPExcel中的百分比

我一直在尋找一種實用的方式將單元格格式化爲PHPExcel中的百分比。

我要像

0.077922078

的值更改爲

8%

是否有一個解決方案?

在此先感謝。

+0

你可以使用小區()四捨五入到最接近的數字和之前比追加%把它放在你的excel文件中.http://php.net/manual/en/function.ceil.php – Dinesh 2013-05-07 21:39:25

回答

32

假設你的細胞是A1 ..

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

我想要得到一個直接的百分比即2%,我需要刪除_00表單FORMAT_PERCENTAGE_00? – cwiggo 2013-05-07 21:55:15

+0

無論如何它的作品聲譽++ :)謝謝 – cwiggo 2013-05-07 21:58:19

+0

@Chris不要忘記標記爲答案 – 2013-05-07 21:59:47

1

PHPExcel庫已預定義只有少數基本格式常量。您實際上可以爲任何目的構建您自己的(着色,格式化小數點&數千等)。 Excel中的格式化功能非常龐大。下面將格式化%的有3位小數和着色負值紅:

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

你可以試試這個代碼:

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

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

你應該添加一個解釋你的答案添加到另一個。 – 2017-07-19 12:20:49

+0

當然,你有正確的@gp_sflover,但我認爲這段代碼是自我描述的:) – simhumileco 2017-07-19 13:21:35

相關問題