我正在尝试使用PHPExcel汇总我的列(计算现金)。问题是数字被输入为字符串 ...我不想删除逗号以使其用户友好。
你能帮我找一下这个专栏吗?
这是我的代码:
$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);
答案 0 :(得分:1)
关于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" }
答案 1 :(得分:0)
我找到了我正在寻找的答案:)
当我在数据库中调用结果并将此代码添加到我的PHPexcel中时,我已经删除了FORMAT({columnname},2)。
代码:
$objPHPExcel->getActiveSheet()->getStyle('H'.$rowCount)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);