Задать вопрос
@aizhar777

PHP Библиотека создания Excel файлов по шаблону?

Привет,
Подскажите пакет для работы с Excel по шаблону,
Есть несколько Excel таблиц (счет, счет-фактура акт-выпю работ), то есть файлы не большие. По сути изменить только значения некоторых ячеек и продублировать строку с наименованием товаров. (1-5 строк)
Google ведет в основном на PHPExcel который DEPRECATED, и которая сейчас называется PhpSpreadsheet. PhpSpreadsheet создает документы нормально, но вот взять Excel фаил изменить значения уже не может (при пересохранении и послуедующем открытии в Excel ругается что не верное расширение файла или фаил поврежден), даже копи-паст кода примеров из документации пересохраняет поврежденный фаил который Excel не может открыть.
Копи-паст кода из доков PhpSpreadsheet
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('template.xlsx');

$worksheet = $spreadsheet->getActiveSheet();

$worksheet->getCell('A1')->setValue('John');
$worksheet->getCell('A2')->setValue('Smith');

$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xls');
$writer->save('write.xls');

Так выглядит один Excel фаил из нескольких
5aeab6aabe38e319526224.png

Пробовал сохранять html table как .xls, Excel ругается но открывает а вот потом распечатать из него очень трудно (таблица разъезжается на несколько станиц и трудно выверить размер)
  • Вопрос задан
  • 2566 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@LuchS-lynx
инженер-ПТО
Я решил подобную задачу через стандартные средства экселя, а именно через макросы. Здесь моя статья, правда применимо к Исполнительной документации в строительстве, но суть та же: по шаблону заполнить типовые бланки. Создаются листы, в которых будут данные под заполнение бланков, а далее макросом пишем данные из ячеек с листа данных в конкретные ячейки файла. https://m.habr.com/post/344956/
Из минусов решения файл шаблона придется настраивать под каждый принтер, т.е. если печатаете на одном настроили и забыли, но если потребуется печатать на другом, то никто не даст гарантии что разметка ранее сохраненных файлов не поедет. Решается перенастройкой вывода на печать шаблона под другой принтер и перевыводом старых файлов
Ответ написан
Комментировать
@roxblnfk
tinybutstrong с плагином opentbs запросто выполнит задачу генерирования офисного документа по шаблону
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы