2009-05-18 33 views
0

我有一些PHP代碼,旨在使電子表格與其中已有的公式相加,以彙總一些列。看起來應該有比下面的代碼更好的方法來做到這一點。什麼是可以完成類似下面的代碼更好的重構或設計模式?重構輸出csv與公式的PHP代碼

<? 
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); 
?> 
+1

這是爲什麼downvoted? – Craig 2009-05-18 21:09:57

回答