Заполнение шаблонов EXCEL, DOC
Добрый день, участники сообщества.
Возникла необходимость создать онлайн-сервис по заполнению готовых шаблонов EXCEL, DOC. Т.е. на сайте заполняется анкета со всеми необходимыми данными, потом выбираем нужные шаблоны и запускаем процесс заполнения документов. Сейчас пользуемся экселевским макросом.
Что немаловажно — шаблоны будут все время пополняться и может быть видоизменяться и для добавления нового шаблона желательно, чтобы не нужен был мега-программист.
Какие могут быть вариант решения? Может ли с этим справится стандартный сервер на linux или все-таки нужен сервер на Windows?
Может быть кто-то реализовывал нечто подобное? Сайт работает на MODX REVO.
Возникла необходимость создать онлайн-сервис по заполнению готовых шаблонов EXCEL, DOC. Т.е. на сайте заполняется анкета со всеми необходимыми данными, потом выбираем нужные шаблоны и запускаем процесс заполнения документов. Сейчас пользуемся экселевским макросом.
Что немаловажно — шаблоны будут все время пополняться и может быть видоизменяться и для добавления нового шаблона желательно, чтобы не нужен был мега-программист.
Какие могут быть вариант решения? Может ли с этим справится стандартный сервер на linux или все-таки нужен сервер на Windows?
Может быть кто-то реализовывал нечто подобное? Сайт работает на MODX REVO.
Комментарии: 6
Не совсем понятно, что именно нужно делать. У меня была задача настроить автосборку фалов fb2, я глянул структуру формата, создал в «настойках типов содержимого» modx новый параметр с mime-типом text/xml и расширением .fb2 Сделал шаблон, в котором верстка создана по правилам формата (поскольку это в сути своей просто xml-файл с несколькими обязательными блоками все оказалось довольно просто). В этот шаблон поместил вызов pdoResources с подстановкой всех нужных полей в нужные блоки и все готово.
Структуру doc и excel не разбирал, поэтому по конкретике не подскажу, но можно примерно так же сделать. Единственная сложность — они представляют собой zip-архивы, в которых куча файлов типовые и их можно оставить постоянными. Для части файлов именно контентных можно сделать шаблон(ы?) и потом собирать все это в единый архив. Честно говоря, есть высокая вероятность, что проще сразу сделать сниппет и запускать сборку zip-архива c нужным расширением и содержимым на основе заполненных пользователем полей без всяких там отдельных шаблонов. Какие именно операции делать… не знаю, не влезал в эту тему. На вскидку, спросил у гугла, он отправил на хабр Честная генерация DOCX на PHP
Структуру doc и excel не разбирал, поэтому по конкретике не подскажу, но можно примерно так же сделать. Единственная сложность — они представляют собой zip-архивы, в которых куча файлов типовые и их можно оставить постоянными. Для части файлов именно контентных можно сделать шаблон(ы?) и потом собирать все это в единый архив. Честно говоря, есть высокая вероятность, что проще сразу сделать сниппет и запускать сборку zip-архива c нужным расширением и содержимым на основе заполненных пользователем полей без всяких там отдельных шаблонов. Какие именно операции делать… не знаю, не влезал в эту тему. На вскидку, спросил у гугла, он отправил на хабр Честная генерация DOCX на PHP
Спасибо за ответ. У гугла я конечно тоже уже интересовалась. Шаблоны просто бывают сложные, в том числе с несколькими страницами и т.д. И тут видимо после появления нового шаблона — надо будет обращаться за помощью к программистам.
И тут видимо после появления нового шаблона — надо будет обращаться за помощью к программистам.Не совсем так. Для обслуживания сайта при любом раскладе требуется программист. Если планируется создание ресурса и сброс заказчику без последующей поддержки, то нужно создавать специализированный компонент с функциями:
1) Импорт шаблона word, excel (.dotx .xltm).
2) Создание новой формы для заполнения пользователем сервиса и ее автоинтерграция в сайт (выпадающий список, отдельная страница и т.д. смотря как все выглядит на фронте)
3) Сборка готового дока и вывод на скачивание пользователем.
Если ну очень край как нужно отказаться от поддержки и отпустить в свободное плавание, то необходимо научить менеджера-непрограммиста делать предварительную разметку шаблонов ворда и экселя. Как я это вижу: в ворде создается шаблон и в полях, которые должны быть заполнены данными пользователя указываются переменные tv1, tv2...tvn+1. После импорта в modx наш гипотетический компонент создает группу переменных шаблона с названием «Какой-то там шаблон ворда или экселя» и списком tv-шек от 1 до n+1, каждая из которых соответствует тому либо иному полю в форме (автоматически создается при импорте нового шаблона). После отправки пользователем формы меняем записанные в конктретном заранее установленном формате переменные на введенные юзером значения.
Опять же, плодить кучу тв-шек не всегда разумно. Использовать для упрощения MIGX, создавать свою отдельную таблицу БД или еще как-то из положения выходить — пусть решает ответственный программист. Есть варианты, короче)) Возможно есть более простые пути, но сначала нужно разобраться в структуре документа ворда и эксель. Если нужен супербюджетный и не сильно качественный вариант — создаем обычные страницы и подключаем API онлайн-конвертера, ему отправляем html файл, забираем doc или excel. Мега-программист не нужен ни вначале работы, ни в дальнейшем. Дешево и сердито, но баги будут вылазить гарантированно из-за тех или иных проблем. Следующий вариант — воспользоваться API гугл-документов. Пользователю можно будет показывать фактически реальный документ, который он просто сохраняет для себя со своими значениями. Шаблоны создаются в аккаунте гугл-доков В каждом случае есть свои нюансы. Выбирайте)) Думаю, можно и еще методы найти, но в первую очередь ответственный исполнитель должен выбрать с чем он реально сможет работать.
Вообще я планировала добавлять новые шаблоны. Но я не программист, скорее веб-мастер и не знаю хватит ли моих знаний. И все-таки хотелось универсальное решение сделать)
Спасибо большое за ответы)
Спасибо большое за ответы)
Ясно) всегда пожалуйста) Это не типовая задача, поэтому вопрос универсальности несколько напряженный. Если нет под нужного специалиста, тут есть раздел «Работа», можете поискать исполнителя))
Да, там и буду искать. После того как напишу ТЗ.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.