require_once 'bootstrap.php';
use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\Style\Table;
function createWordDocumentWithTable(array $data): void
{
$phpWord = new PhpWord();
$section = $phpWord->addSection();
$tableStyle = [
'borderSize' => 6,
'borderColor' => '000000',
'cellMargin' => 80
];
$table = $section->addTable($tableStyle);
foreach ($data as $row) {
$tableRow = $table->addRow();
array_map(fn($cell) => $tableRow->addCell(2000)->addText($cell), $row);
}
$phpWord->save('table_document.docx', 'Word2007');
}
// Пример использования
$tableData = [
['Имя', 'Возраст', 'Город'],
['Иван', '25', 'Москва'],
['Мария', '30', 'Санкт-Петербург'],
['Алексей', '35', 'Казань']
];
createWordDocumentWithTable($tableData);
echo "Документ Word с таблицей успешно создан!";
Установить библиотеку PHPWord через Composer:
composer require phpoffice/phpword
Убедиться, что есть файл bootstrap.php для автозагрузки классов.
Запустить скрипт, который создаст файл table_document.docx с таблицей.