используйте цикл for в ячейке phpexcel и печатайте все идентификаторы электронной почты для массива - PullRequest
0 голосов
/ 14 декабря 2018
$this->phpexcel->getActiveSheet()->setCellValue('A1','Name');
$this->phpexcel->getActiveSheet()->setCellValue('B1','Email');

foreach ($variable as $k){
$this->phpexcel->getActiveSheet()->setCellValue('A',$k['name']);
$this->phpexcel->getActiveSheet()->setCellValue('B',$k['email']);
}

но $ k ['email'] - это массив и как использовать forloop внутри ячейки для печати идентификаторов электронной почты

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Если я вас правильно понимаю, вы хотите напечатать каждое $k имя и адрес электронной почты в последующих строках, по одному письму на строку.Затем вы можете использовать что-то вроде этого;

$this->phpexcel->getActiveSheet()->setCellValue('A1','Name');
$this->phpexcel->getActiveSheet()->setCellValue('B1','Email');

$row = 2;
foreach ($variable as $k){
    $this->phpexcel->getActiveSheet()->setCellValue("A$row",$k['name']);
    $this->phpexcel->getActiveSheet()->setCellValue("B$row",$k['email']);
    $row++;
}

Вы помещаете заголовки столбцов в строку 1, а затем помещаете фактические значения в строки 2 и далее - переменная $row отслеживает, в какую строку вы помещаете объекты.

0 голосов
/ 14 декабря 2018

Если вам нужно распечатать все электронные письма в одной ячейке - вы можете implode массив в строку:

$this->phpexcel->getActiveSheet()->setCellValue(
    'B', 
    implode('; ', $k['email'])
);
...