2014-09-04 78 views
1

我有一个表,它是由item_codestatus整理出来的。我有3个状态= 0,1和2.我想在每个状态完成时进行一些计算。PHPExcel覆盖行

基本上,PXPExcel将覆盖每个status类别的最后一行。根据数据库有:4行status 0,1行status 1和5行status 2。我已经坚持了几天,所以任何帮助,将不胜感激。

这里是我的代码:

http://pastebin.com/4FZjZmt4

这里是导出文件输出:

http://imgur.com/xR5nP3Q

我已经尝试过的事情:

/* 
    * Add +1 to each count so it could count last row as well. 
    *  1. Start adding +1 to each count outside the main loop. 
    *  2. $newCountOne = $countZero + ($countOne +1); 
    *  3. $newCountTwo = $newCountOne + ($countTwo +1); 
    *  4. if ($loopCounter == ($countZero +1)) 
    *  5. To raise $key parameter in "total" row. 
    * 
    */ 

先谢谢你。

回答

0

这是您的主要问题。

时增加值到特定的细胞必须是这样的循环:

enter image description here

编辑:

试试这个:

<?php 

    $items = 18; 
    $countZero = 4; 

    $countOne = 10; 

    $countTwo = 4; 

    $newCountOne = $countZero + $countOne; 
    $newCountTwo = $newCountOne + $countTwo; 

    echo "Segundo stop: ".$newCountOne."<br>"; 
    echo "Tercer stop: ".$newCountTwo."<br>"; 

    //Starting point. 
    $loopCounter = 1; 
    $number = 0; 


    //Each status has his own background color 
    // foreach($items AS $key=>$item) { 
     for ($i=0; $i < $items; $i++) { 

     echo "A".($number)."ACTUAL DB VALUE<br>"; 

     //Main loop 
     if($loopCounter == $countZero) { 
      echo $loopCounter."<br>"; 
      $number++; 
      //Status0 
      echo "Status 0 END <br>"; 
      echo "A"." cell number: ".($number)." TOTAL"."<br>"; 
      echo "D"." cell number: ".($number)." VALUE"."<br>"; 
      echo "E"." cell number: ".($number)." QUANTITY"."<br>"; 


     } elseif ($loopCounter == $newCountOne) { 

      $number++; 
      //Status1 
      echo "Status 1 END <br>"; 
      echo "A"." cell number: ".($number)." TOTAL"."<br>"; 
      echo "D"." cell number: ".($number)." VALUE"."<br>"; 
      echo "E"." cell number: ".($number)." QUANTITY"."<br>"; 

     } elseif ($loopCounter == $newCountTwo) { 

      $number++; 
      //Status2 
      echo "Status 2 END <br>"; 
      echo "A"." cell number: ".($number)." TOTAL"."<br>"; 
      echo "D"." cell number: ".($number)." VALUE"."<br>"; 
      echo "E"." cell number: ".($number)." QUANTITY"."<br>"; 

     } 

      //Remove this ELSE! 
      /*echo "B".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "C".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "D".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "E".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "F".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "G".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "H".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "I".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "J".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "K".($number + 7)."ACTUAL DB VALUE<br>"; 
      echo "L".($number + 7)."ACTUAL DB VALUE<br>";*/ 


     $number++; 
     $loopCounter++; 
    } 
?> 
+0

非常感谢您对解释,但我无法弄清楚,如何将我的代码转移到您的想法循环中。你能帮我弄明白吗? – 2014-09-05 08:25:22

+0

我明白你的建议,我做了,但不幸的是,它并没有帮助我。在每个状态部分之后,我有相同的输出,同一个覆盖原始数据。 – 2014-09-05 11:11:53

+0

我玩过你的代码,现在我有下一个结果 - > http://imgur.com/TTw1KIp但它仍然不是我想达到的。有什么建议吗? – 2014-09-05 12:47:05