Заполнение шаблонов EXCEL, DOC

Добрый день, участники сообщества.
Возникла необходимость создать онлайн-сервис по заполнению готовых шаблонов EXCEL, DOC. Т.е. на сайте заполняется анкета со всеми необходимыми данными, потом выбираем нужные шаблоны и запускаем процесс заполнения документов. Сейчас пользуемся экселевским макросом.

Что немаловажно — шаблоны будут все время пополняться и может быть видоизменяться и для добавления нового шаблона желательно, чтобы не нужен был мега-программист.

Какие могут быть вариант решения? Может ли с этим справится стандартный сервер на linux или все-таки нужен сервер на Windows?

Может быть кто-то реализовывал нечто подобное? Сайт работает на MODX REVO.
Любовь
16 января 2017, 09:16
modx.pro
2 340
+1

Комментарии: 6

Алексей Федоров
16 января 2017, 12:47
+1
Не совсем понятно, что именно нужно делать. У меня была задача настроить автосборку фалов fb2, я глянул структуру формата, создал в «настойках типов содержимого» modx новый параметр с mime-типом text/xml и расширением .fb2 Сделал шаблон, в котором верстка создана по правилам формата (поскольку это в сути своей просто xml-файл с несколькими обязательными блоками все оказалось довольно просто). В этот шаблон поместил вызов pdoResources с подстановкой всех нужных полей в нужные блоки и все готово.

Структуру doc и excel не разбирал, поэтому по конкретике не подскажу, но можно примерно так же сделать. Единственная сложность — они представляют собой zip-архивы, в которых куча файлов типовые и их можно оставить постоянными. Для части файлов именно контентных можно сделать шаблон(ы?) и потом собирать все это в единый архив. Честно говоря, есть высокая вероятность, что проще сразу сделать сниппет и запускать сборку zip-архива c нужным расширением и содержимым на основе заполненных пользователем полей без всяких там отдельных шаблонов. Какие именно операции делать… не знаю, не влезал в эту тему. На вскидку, спросил у гугла, он отправил на хабр Честная генерация DOCX на PHP
    Любовь
    16 января 2017, 13:16
    0
    Спасибо за ответ. У гугла я конечно тоже уже интересовалась. Шаблоны просто бывают сложные, в том числе с несколькими страницами и т.д. И тут видимо после появления нового шаблона — надо будет обращаться за помощью к программистам.
      Алексей Федоров
      16 января 2017, 14:14
      +1
      И тут видимо после появления нового шаблона — надо будет обращаться за помощью к программистам.
      Не совсем так. Для обслуживания сайта при любом раскладе требуется программист. Если планируется создание ресурса и сброс заказчику без последующей поддержки, то нужно создавать специализированный компонент с функциями:
      1) Импорт шаблона word, excel (.dotx .xltm).
      2) Создание новой формы для заполнения пользователем сервиса и ее автоинтерграция в сайт (выпадающий список, отдельная страница и т.д. смотря как все выглядит на фронте)
      3) Сборка готового дока и вывод на скачивание пользователем.

      Если ну очень край как нужно отказаться от поддержки и отпустить в свободное плавание, то необходимо научить менеджера-непрограммиста делать предварительную разметку шаблонов ворда и экселя. Как я это вижу: в ворде создается шаблон и в полях, которые должны быть заполнены данными пользователя указываются переменные tv1, tv2...tvn+1. После импорта в modx наш гипотетический компонент создает группу переменных шаблона с названием «Какой-то там шаблон ворда или экселя» и списком tv-шек от 1 до n+1, каждая из которых соответствует тому либо иному полю в форме (автоматически создается при импорте нового шаблона). После отправки пользователем формы меняем записанные в конктретном заранее установленном формате переменные на введенные юзером значения.

      Опять же, плодить кучу тв-шек не всегда разумно. Использовать для упрощения MIGX, создавать свою отдельную таблицу БД или еще как-то из положения выходить — пусть решает ответственный программист. Есть варианты, короче)) Возможно есть более простые пути, но сначала нужно разобраться в структуре документа ворда и эксель. Если нужен супербюджетный и не сильно качественный вариант — создаем обычные страницы и подключаем API онлайн-конвертера, ему отправляем html файл, забираем doc или excel. Мега-программист не нужен ни вначале работы, ни в дальнейшем. Дешево и сердито, но баги будут вылазить гарантированно из-за тех или иных проблем. Следующий вариант — воспользоваться API гугл-документов. Пользователю можно будет показывать фактически реальный документ, который он просто сохраняет для себя со своими значениями. Шаблоны создаются в аккаунте гугл-доков В каждом случае есть свои нюансы. Выбирайте)) Думаю, можно и еще методы найти, но в первую очередь ответственный исполнитель должен выбрать с чем он реально сможет работать.
        Любовь
        16 января 2017, 14:18
        0
        Вообще я планировала добавлять новые шаблоны. Но я не программист, скорее веб-мастер и не знаю хватит ли моих знаний. И все-таки хотелось универсальное решение сделать)
        Спасибо большое за ответы)
          Алексей Федоров
          16 января 2017, 14:23
          0
          Ясно) всегда пожалуйста) Это не типовая задача, поэтому вопрос универсальности несколько напряженный. Если нет под нужного специалиста, тут есть раздел «Работа», можете поискать исполнителя))
            Любовь
            16 января 2017, 14:25
            0
            Да, там и буду искать. После того как напишу ТЗ.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6