■$item['test_list']データ中身
array(3) { [0]=> array(3) { ["title"]=> string(9) "テスト" [0]=> array(7) { ["name"]=> string(0) "" ["test_name"]=> string(0) "" } [1]=> array(7) { ["name"]=> string(0) "" ["test_name"]=> string(3) "か" } } [1]=> array(4) { ["title"]=> string(12) "テストB" [0]=> array(7) { ["name"]=> string(3) "あ" ["test_name"]=> string(0) "" } [1]=> array(7) { ["name"]=> string(3) "い" ["test_name"]=> string(0) "" } [2]=> array(7) { ["name"]=> string(0) "" ["test_name"]=> string(3) "う" } } [2]=> array(2) { ["title"]=> string(12) "テストC" [0]=> array(7) { ["name"]=> string(0) "" ["test_name"]=> string(0) "" } } }
このように格納されている「$item['test_list']」データをPHPExcelを利用して
Excelに出力させたく思います。
php
1$rowOff = 1; //縦初期値セル 2$row = 0; //行 3$cel = 0; //列 4 5 6for ($i = 0 ; $i < count($item['test_list']); $i++) { 7 $value = $item['test_list'][$i]['title']; 8 //タイトル出力 9 if($i == 0){ 10 $excel->setCellValueExplicitByColumnAndRow(($cel+=1), $row + $rowOff, $value,PHPExcel_Cell_DataType::TYPE_STRING); 11 }else{ 12 $excel->setCellValueExplicitByColumnAndRow(($cel+=5), $row + $rowOff, $value,PHPExcel_Cell_DataType::TYPE_STRING); 13 } 14 //タイトル内の「name」をセルに出力する 15 foreach($item['test_list'][$i] as $k => $test){ 16 $value2 = $test['name']; 17 //名前出力 18 if($i == 0){ 19 $excel->setCellValueExplicitByColumnAndRow(($cel+=2), $row + $rowOff, $value2,PHPExcel_Cell_DataType::TYPE_STRING); 20 }else{ 21 $excel->setCellValueExplicitByColumnAndRow(($cel+=5), $row + $rowOff, $value2,PHPExcel_Cell_DataType::TYPE_STRING); 22 } 23 } 24}
["title"]部分は意図したように出力できるのですが、["name"]の部分が思い通りに出力できずに
悩んでいます。「//タイトル内の「name」をセルに出力する」の部分にて、
「$item['test_list'][$i]」の中のさらに「0」「1」「2」番目の["name"]を取り出し、
セルに「['name']」の値を出力したく思います。空白の場合は空白のデータを出力させる想定です。
どのようにしたら、良いかご教授宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/24 05:40