我的报告看起来与此类似:
我有一个公式计算代表1月到12月(YEARLY AVERAGE列)的单元格的平均值。但是,我不想考虑到我们尚未达到的月份。例如,计算平均值的公式/代码:
$objPHPExcel->getActiveSheet()->setCellValue('N' . $i,'=AVERAGE(B' . $i . ':M' . $i .')');
$i
表示我正在迭代以动态填充报告的行。为了方便:
$objPHPExcel->getActiveSheet()->setCellValue('N4','=AVERAGE(B4:M4)');
JAN-DEC报告数据来自我构建的数组,如下所示:
array(12) {
[1]=>
int(0)
[2]=>
int(0)
[3]=>
int(0)
[4]=>
int(0)
[5]=>
int(0)
[6]=>
int(0)
[7]=>
int(0)
[8]=>
int(0)
[9]=>
string(15) "176.80000000000"
[10]=>
string(15) "707.61290322580"
[11]=>
string(0) ""
[12]=>
string(0) ""
}
我代表NOV和DEC的最后两个数组值是""
值,但它们在报告中打印为零。
我的问题是,这是打印到文档时需要调整的某种格式吗? IE:
foreach(range('B','M') as $columnID){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($columnID . $i, round($data[$k],2));
}
或者在构建数组时是否需要以不同方式存储值? IE:
if($m <= (int)$this_month){
$data[$m] = 0;
}
else{
$data[$m] = '';
}
答案 0 :(得分:0)