Рік тому до мене в черговий раз звернувся постійний замовник. «Менеджери - ідіоти, - обурювався він. - Плинність кадрів величезна, на навчання кожного йдуть місяці. А потім вони роблять помилки ».
Так як сайтів у замовника кілька, вирішено було будувати окрему систему - свій власний сервіс генерації документів, до якого сайти зверталися б в момент замовлення.
В основу майбутнього коду лягли ідеї з тієї ж, наведеної вище, хабростатьі, а так само публікація «Розбираємо xlsx в PHP без готових бібліотек».
У підсумку за місяць роботи «генератор документів» був створений і запущений.
- генерувати за шаблоном документ docx шляхом прямої заміни шаблонного тега на дані;
- те ж саме робити з шаблонами в форматі xlsx;
- розширювати таблиці в xlsx і заповнювати їх входять даними з масиву;
- вставляти підзаголовки, розбиваючи таблицю на групи;
- вставляти посилання - поодинокі, або як вміст таблиці;
Що генератор на даний момент не вміє:
- працювати з різними типами даних - все осередки заповнюються як рядки. З цієї причини неможливо використання формул excel в шаблоні, які оперували б введеними даними;
- вставляти зображення;
- змінювати форматування - воно повністю визначається в шаблоні.
У такому вигляді він пропрацював ось уже скоро рік. Проблеми за цей період виникали в основному тільки з клієнтською частиною - з боку магазину. Хоча, це не означає, що скрипт «генератора» ідеальний. На сьогоднішній день він обкатаний тільки в одній реальній задачі.
Незабаром виникла думка, що цей продукт може бути корисний і іншим людям. Так був зареєстрований новий домен, на нього встановлено копію генератора документів і створений невеликий сайт, на якому можна «помацати» роботу скрипта, залити свій шаблон і експлуатувати до тих пір, поки витримає залізо.
Перевірити роботу скрипта можна на демо-прикладі.
Вихідний код доступний в репозиторії.