2016-01-05 4 views
2

Хорошо, так что у меня есть этот кодКак динамически добавить в таблицу PHPExcel

 $key = $_SESSION['order_nums']; 
     $sqll = "SELECT * FROM `money` WHERE `order` = :key"; 
     $qq=$con->prepare($sqll); 
     $qq->bindvalue(":key", $key); 
     $qq->execute(); 


     $excel2 = PHPExcel_IOFactory::createReader('Excel2007'); 
     $excel2 = $excel2->load('nTest.xlsx'); // Empty Sheet 
     $excel2->setActiveSheetIndex(0); 
     $worksheet = $excel2->getActiveSheet(); 

     while($fdata=$qq->fetch(PDO::FETCH_ASSOC)) 
     { 
      $worksheet 
       ->setCellValue('A7', $fdata['code']); 


     } 

Где это установить значение ячейки для A7 есть около 6 больше тех, которые соответствуют. Когда я делаю это так, однако, он ставит только его в CELL A7

  while($fdata=$qq->fetch(PDO::FETCH_ASSOC)) 
     { 
      $worksheet 
       ->setCellValue('A7', $fdata['code']); 


     } 

Как я могу сделать это, где выше значение Выпадающее одной ячейки для каждой новой записи.

Итак, следующий будет A8, A9 ..... и так далее.

+0

Адрес ячейки - это просто строка. 'setCellvalue ('A'. $ row, ...)' –

ответ

1

Это 'A7' не какой-то волшебной ценности, это просто обычный PHP строка, передаваемая в качестве стандартной функции аргумента метода setCellValue() .... вы можете заменить его с переменной строки, которые вы определяете самостоятельно и измените для каждой строки

$column = 'A'; 
    $row = 7; 
    while($fdata=$qq->fetch(PDO::FETCH_ASSOC)) 
    { 
     $worksheet 
      ->setCellValue($column . $row, $fdata['code']); 
     $row++; 

    } 
+0

ok, возможно, я был в замешательстве .. но все же ... почему вы его оставляете на 7-й ряд .. –

+0

Он не оставляет его @Pamblam В моем вопросе я попросил начать с A7, Он просто пишет его, как я просил. – Kmiles1990123

+0

meh я удалил downvote, я понимаю, что он просто подумал, что он может быть сбит с толку и на самом деле не собирается начинать с 7-го .. –

0
$row = 'A'; 
while($fdata=$qq->fetch(PDO::FETCH_ASSOC)){ 
    $col = 1; 
    foreach($fdata as $data){ 
     $worksheet->setCellValue("$row$col", $data); 
     $col++; 
    } 
    $row++; 
} 
+0

Черт вас, я печатал свой собственный ответ xD. Сначала у вас есть xD – Kmiles1990123

Смежные вопросы