Как сгенерировать сложные блочные данные внутри цикла с помощью процессора шаблонов PHPWord в laravel PHP ⇐ Php
-
Гость
Как сгенерировать сложные блочные данные внутри цикла с помощью процессора шаблонов PHPWord в laravel PHP
У меня есть массив данных ниже:
[▼ 0 => массив:2 [▼ "time" => "СРЕДА, 21 МАРТА 2018 ГОДА" "деталь" => массив:1 [▼ 0 => массив:2 [▼ "timeSlot" => "18:00 – 21:00" "info" => "Приветственный ужин" ] ] ] 1 => массив:2 [▼ "time" => "ЧЕТВЕРГ, 22 МАРТА 2018 ГОДА" "деталь" => массив:4 [▼ 0 => массив:2 [▼ "timeSlot" => "7:30 утра" "info" => "Отправление из вестибюля отеля и 5 минут ходьбы до места встречи XX" ] 1 => массив:2 [▼ "timeSlot" => "8:00 – 8:30" "info" => "Завтрак и общение" ] 2 => массив:2 [▼ "timeSlot" => "8:30 – 9:00" "info" => "Введение от директора программы и организатора встречи" ] 3 => массив:2 [▼ "timeSlot" => "9:00 – 10:15" "info" => "Раунд-робин" ] ] ] 2 => массив:2 [▼ "time" => "ПЯТНИЦА, 23 МАРТА 2018 ГОДА" "деталь" => массив:2 [▼ 0 => массив:2 [▼ "timeSlot" => "7:30 утра" "info" => "Отправление из вестибюля отеля и 5 минут ходьбы до места встречи XX" ] 1 => массив:2 [▼ "timeSlot" => "8:00 – 8:30" "info" => "Завтрак и общение" ] ] ] ] И я хочу распечатать данные в документе Word, как показано ниже/прикрепленное изображение:
Нажмите на ссылку, чтобы просмотреть изображение файла Word — необходимо создать
Кто-нибудь может помочь, как мне этого добиться?
Я пробовал создавать блоки и использовал методы cloneBlock() и complexcloneBlock(). Но мне нужна дополнительная помощь по этой проблеме, так как я получаю сообщение о повреждении файла и файл Word не открывается.
Я попробовал добавить блок ниже в файл Word -
${meetingSchedule} ${MEETINGDATE} ${meetingtime} ${meetinginfo} ${/meetingSchedule} и приведенный ниже цикл на стороне php:
$templateProcessor->cloneBlock('meetingSchedule', \count($meetingData), true, true); for ($index = 0; $index < count($meetingData); $index++) { $meetingDate = $meetingData[$index]['время']; $templateProcessor->setValue('MEETINGDATE', $meetingDate); for($i=0;$isetValue('meetingtime', $meetingData[$index]['detail'][$i]['timeSlot']); $templateProcessor->setValue('meetinginfo', $meetingData[$index]['detail'][$i]['info']); } } И как выглядит блок файлов Word
Файл Word
У меня есть массив данных ниже:
[▼ 0 => массив:2 [▼ "time" => "СРЕДА, 21 МАРТА 2018 ГОДА" "деталь" => массив:1 [▼ 0 => массив:2 [▼ "timeSlot" => "18:00 – 21:00" "info" => "Приветственный ужин" ] ] ] 1 => массив:2 [▼ "time" => "ЧЕТВЕРГ, 22 МАРТА 2018 ГОДА" "деталь" => массив:4 [▼ 0 => массив:2 [▼ "timeSlot" => "7:30 утра" "info" => "Отправление из вестибюля отеля и 5 минут ходьбы до места встречи XX" ] 1 => массив:2 [▼ "timeSlot" => "8:00 – 8:30" "info" => "Завтрак и общение" ] 2 => массив:2 [▼ "timeSlot" => "8:30 – 9:00" "info" => "Введение от директора программы и организатора встречи" ] 3 => массив:2 [▼ "timeSlot" => "9:00 – 10:15" "info" => "Раунд-робин" ] ] ] 2 => массив:2 [▼ "time" => "ПЯТНИЦА, 23 МАРТА 2018 ГОДА" "деталь" => массив:2 [▼ 0 => массив:2 [▼ "timeSlot" => "7:30 утра" "info" => "Отправление из вестибюля отеля и 5 минут ходьбы до места встречи XX" ] 1 => массив:2 [▼ "timeSlot" => "8:00 – 8:30" "info" => "Завтрак и общение" ] ] ] ] И я хочу распечатать данные в документе Word, как показано ниже/прикрепленное изображение:
Нажмите на ссылку, чтобы просмотреть изображение файла Word — необходимо создать
Кто-нибудь может помочь, как мне этого добиться?
Я пробовал создавать блоки и использовал методы cloneBlock() и complexcloneBlock(). Но мне нужна дополнительная помощь по этой проблеме, так как я получаю сообщение о повреждении файла и файл Word не открывается.
Я попробовал добавить блок ниже в файл Word -
${meetingSchedule} ${MEETINGDATE} ${meetingtime} ${meetinginfo} ${/meetingSchedule} и приведенный ниже цикл на стороне php:
$templateProcessor->cloneBlock('meetingSchedule', \count($meetingData), true, true); for ($index = 0; $index < count($meetingData); $index++) { $meetingDate = $meetingData[$index]['время']; $templateProcessor->setValue('MEETINGDATE', $meetingDate); for($i=0;$isetValue('meetingtime', $meetingData[$index]['detail'][$i]['timeSlot']); $templateProcessor->setValue('meetinginfo', $meetingData[$index]['detail'][$i]['info']); } } И как выглядит блок файлов Word
Файл Word
Мобильная версия