2014-03-03 63 views
0

我想根据出生日期计算年龄。 Excel公式是在PHPExcel中创建公式

= DATEDIF(K4,DATE(2014,3,31), “Y”)= DATEDIF(K4,DATE(2014,3,31), “YM”)

如果单元格K中的值为2004-08-01,则显示9.7这是完美的,但我无法使用PHPExcel在Excel表单中设置此公式。 这里是我想

$date = date('2014,03,31'); 
for($i=3;$i<=100;$i++){ 
$objPHPExcel->getActiveSheet()-setCellValue('AQ'.$i,'=DATEDIF(K'.$i.',DATE('.$date.'),"Y")'.'& . & '.'DATEDIF(K'.$i.',DATE('.$date.'),"YM")'); 
} 

什么是错的代码,为什么擅长下载后的文件无法打开,并显示FILEFORMAT或文件扩展名无效的代码。

+0

是,在这个问题或者代码输入错误? 'getActiveSheet() - setCellValue' – MackieeE

+0

是的,它看起来像getActiveSheet() - > setCellValue –

+0

@MackieeE对不起,输入错误。 – user1357093

回答

1

你的Excel公式级联是无效.。假设你要的一年,然后你需要把它作为一个字符串字面量(".")月间显示.

$date = date('2014,03,31'); 
for($i=3;$i<=100;$i++){ 
    $objPHPExcel->getActiveSheet()-setCellValue(
     'AQ'.$i, 
     '=DATEDIF(K'.$i.',DATE('.$date.'),"Y")'.'& "." & '.'DATEDIF(K'.$i.',DATE('.$date.'),"YM")' 
    ); 
} 
0

没有测试,试试这个,

$date = date('2014,03,31'); 
for($i=3;$i<=100;$i++){ 
$objPHPExcel->getActiveSheet()->setCellValue('AQ'.$i,'=DATEDIF(K'.$i.',DATE('.$date.'),"Y")'.'& . & '.'DATEDIF(K'.$i.',DATE('.$date.'),"YM")'); 
}