在 PHPExcel 中用逗号求和数字

Sum numbers with comma in PHPExcel

我正在尝试使用 PHPExcel 对我的列 (Calculated Cash) 求和。问题是数字被键入为 string... 我不想删除逗号以使数字对用户友好。

你能帮我算一下这个列的总和吗?

这是我的代码:

    $sql = "
        SELECT a.DOB as `DATE`,
        FORMAT(a.Amount,2) AS CALCULATED 
        FROM deposit a 
        WHERE STR_TO_DATE(a.DOB, '%m/%d/%Y') BETWEEN '20170701' AND '20170701';
    ";

    $rowCount = 2;  
    $rowTop = 3;
    $rowMinus = $rowCount - 1;

    $objPHPExcel
        ->getActiveSheet()
        ->setCellValue('D'.$rowCount, '=SUM(D'.$rowTop.':D'.$rowMinus.')');

    $objPHPExcel
        ->getActiveSheet()
        ->getStyle('D'.$rowCount)
        ->applyFromArray($styleBold);

     $objPHPExcel
        ->getActiveSheet()
        ->getStyle('D3:D4')
        ->getNumberFormat()
        ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL);

关于php的一些技巧:

$a = "4,";
$b = "5 soldiers";
echo $a + $b; // returns 9

所以 php 是一种弱类型语言,并检查是否需要将字符串转换为整数!

如果你有这样的东西,你可以将它的数字转换为数字数组:

$val = ", 2, ,4 ,5 , 6"; // a string of numbers
$parts = explode(",",$val); // an array of numbers

所以 $parts 会是这样的:

array(6) { [0]=> string(0) "" [2]=> string(1) " 2" [2]=> string(1) " " [3]=> string(2) " 4" [4]=> string(2) " 5" [5]=> string(2) " 6" }

我找到了我要找的答案:)

当我在我的数据库中调用我的结果并将此代码添加到我的 PHPexcel 时,我摆脱了 FORMAT({columnname},2) :)

代码:

 $objPHPExcel->getActiveSheet()->getStyle('H'.$rowCount)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);