PHPOffice - Word - Форматирование содержимого ячеек связанного текста - PullRequest
0 голосов
/ 21 июня 2019

Первый раз, используя PHPWord. У меня есть таблица с 4 столбцами. Таблица содержит изображения в последнем столбце и текст в остальных. Столбец images может содержать несколько изображений, поэтому текстовые ячейки занимают несколько строк.

Я пытаюсь добавить несколько фрагментов текста в одну из ячеек, где содержимое представляет собой объединение новых полей из таблицы.

Текущий код:

foreach($building->reports as $report) {

    $i = 0;
    foreach($report->images as $image) {

        if ($i == 0) {

            $table->addRow();
            $table->addCell($col1, $this->styles['style_cell_rowspan'])->addText(htmlspecialchars($building->building_ref . '.' . $report->appt_ref), $this->styles['txt']);
            $table->addCell($col2, $this->styles['style_cell_rowspan'])->addText(htmlspecialchars($report->location), $this->styles['txt']);
            $table->addCell($col3, $this->styles['style_cell_rowspan'])->addText(htmlspecialchars($report->description), $this->styles['txt']);
            $table->addCell($col4, $this->styles['style_cell'])->addImage(\Storage::disk('app')->get($image->image), $this->styles['img']);

        } else {

            $table->addRow();
            $table->addCell($col1, $this->styles['style_cell_continue']);
            $table->addCell($col2, $this->styles['style_cell_continue']);
            $table->addCell($col3, $this->styles['style_cell_continue']);
            $table->addCell($col4, $this->styles['style_cell'])->addImage(\Storage::disk('app')->get($image->image), $this->styles['img']);

        }

        $i++;
    }
}

Текущий столбец (Col3) (до настоящего времени) содержит текст из одного поля базы данных.

Чтобы не разбить текущую компоновку таблицы с ее изображениями, я пытаюсь поместить текст в эту (col3) строку, которая выглядит следующим образом:

HEADING1
Lorem ipsum....(db table new field 1)

HEADING2
Lorem ipsum....(db table new field 2)

HEADING3
Lorem ipsum....(db table new field 3)

В базовом HTML это будет выглядеть так:

<b>HEADING1:</b><br>
<p>Lorem ipsum....(db table new field 1)</p>

<b>HEADING2:</b><br>
<p>Lorem ipsum....(db table new field 2)</p>

<b>HEADING3:</b><br>
<p>Lorem ipsum....(db table new field 3)</p>

Итак, я бы сказал, что это так:

'<b>HEADING1:</b><br><p>' . $table->newfield1 . '</p>' .   (and so on)

Как создать содержимое этой ячейки в формате, не помещая отдельный текст в отдельные ячейки?

...