Это код, который у меня сейчас есть
$phpWord = \PhpOffice\PhpWord\IOFactory::load($source);
$sections = $phpWord->getSections();
foreach ($sections as $s) {
$els = $s->getElements();
foreach ($els as $e) {
switch (get_class($element)) {
case 'PhpOffice\PhpWord\Element\TextRun':
$this->logger->debug("TextRun");
$this->getTextFromTextRun($element);
break;
case 'PhpOffice\PhpWord\Element\Table':
$this->logger->debug("Table");
$this->iterateOverRows($element);
break;
}
}
}
private function getTextFromTextRun($element) {
for ($index = 0; $index < $element->countElements(); $index++) {
$textRunElement = $element->getElement($index);
$text = $textRunElement->getText();
if (strlen($text) > 0) {
$this->logger->debug("TextRun Text: " . $text);
}
}
}
private function iterateOverRows($table) {
$rows = $table->getRows();
foreach ($rows as $row) {
foreach ($row->getCells() as $cell) {
// What to do here???
}
}
}
Я не знаю, как получить содержимое из ячеек?
Это метод получения, доступный в объекте-ячейке :
- getCommentRangeEnd
- getCommentRangeStart
- getDocPart
- getDocPartId
- getElement
- getElementId
- getElementIndex
- getElements
- getNestedLevel
- getParent
- getPhpWord
- getRelationId
- getSectionId
- getStyle
- getTrackChange
- getWidth