在 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);
我正在尝试使用 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);