重构输出带公式的csv的PHP代码

我有一些PHP代码,旨在制作一个电子表格,其中已经有公式来总结一些列。 看起来应该有比下面的代码更好的方法来做到这一点。 什么是可以完成像下面的代码更好的一些重构或devise模式?

<? echo ",Current Milestone,Total Hours,Milestone 1 Hours,Milestone 2 Hours,Milestone 3 Hours\n"; $row = 2; $totSSRange = ""; foreach($departments as $dept){ $deptStartRow = $row + 1; echo $dept['name']."\n"; foreach($dept['modules'] as $module){ $row++; echo $module['name'].','.$module['ms'].',=SUM(D'.$row.':F'.$row.'),'.$module['m1'].','.$module['m2'].','.$module['m3']."\n"; } $deptSSRange = "C".$deptStartRow.":C".$row; $totSSRange .= $deptSSRange.","; $sumStr = "=SUM(".$deptSSRange.")"; echo 'Sum,,'.$sumStr.','.str_replace("C","D",$sumStr).','.str_replace("C","E",$sumStr).','.str_replace("C","F",$sumStr)."\n\n"; $row+=3; } $totSumStr = "\"=SUM(".$totSSRange.")\""; echo 'Total,,'.$totSumStr.','.str_replace("C","D",$totSumStr).','.str_replace("C","E",$totSumStr).','.str_replace("C","F",$totSumStr); ?> 

使用PEAR :: Spreadsheet_Excel_Writer ,它实际上会在你身上执行一些好的devise原则。 另外,它将消毒和标准化所有的input。