Как я могу напечатать массив в виде строки и столбца в phpExcel? - PullRequest
0 голосов
/ 28 января 2020

Вот мой вывод массива в браузере, который мне нужно ассоциативно напечатать в виде строки и столбца в PHPEXCEL. Пожалуйста, предложите мне, как экспортировать его в виде строки и столбца.

FirstArray
(
    [0] => EY>Yes
    [1] => Media Type>Category B
    [2] => Coverage Type>Quote
    [3] => Industry Programs>Communications
    [4] => Score>1
) 

код -

while ($i < count($labels)) {

                $j = 0;
                while ($j < count($dd1)) {
                    // for($j=0;$j<count($dd1);$j++) {
                    $temp = explode(">", $dd1[$j]);


                    if ($temp[0] == $labels[$i]) {
                        $name = explode(">", $dd1[$j]);
                       echo '<pre>First';
                        print_r($name);
                    }
                    $j++;
                }

полный код я пытаюсь напечатать массив $ name в виде строки и столбца -

  $inn_table = "";

for($i=0;$i<count($labels);$i++) {

 for($j=0;$j<count($dd1);$j++) {
                  $temp = explode(">",$dd1[$j]);    

                 if($temp[0]==$labels[$i]) {
                     $name = explode(">",$dd1[$j]);

//here i need to print my $name array data

        }

  }
   echo $inn_table; 

1 Ответ

1 голос
/ 28 января 2020

На первом этапе вы можете собрать один раз все имена столбцов и создать первую строку c, которая будет работать как столбцы:

foreach($labels[0] as $ind=>$label){

        $letter = range('A', 'Z')[$ind];
        $tmp = explode('>',$label); 
        $col_names[] = $tmp[0];
        echo $letter.'1'."\r\n";
        //$objPHPExcel->getActiveSheet()->setCellValue($letter.'1',$tmp[0]); 
        echo "Column -> $tmp[0] \r\n"; 
}

Теперь вы можете работать с другими данными:

foreach ($labels as $ind=>$item){

        $index = $ind + 2;

    foreach($item as $ind2=>$data){

        $letter = range('A', 'Z')[$ind2];

        echo "$letter$index \r\n";

        $val = explode('>',$data);

        //$objPHPExcel->getActiveSheet()->setCellValue("$letter$index",$val[1]);
        echo "Value at $index -> $val[1] \r\n\r\n";
    }
    echo "\r\n\r\n";
}

Демонстрация

Примечание: этот код подходит для индексов столбцов диапазона A..Z, для других вам необходимо обновить этот код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...