Как реализовать выгрузку данных из формы на сайте в документ .doc?

Здравствуйте!
Суть задачи в следующем:

На сайте предполагается наличие формы, в которой пользователь заполняет данные (ФИО, № договора, город, контактные данные и пр.). Сам сайт в разработке (верстка - bootstrap, cms wp).

Имеется так же шаблон документа .doc (заявление), в который должны выгружаться данные из формы.
Каким образом реализуется данный функционал? Есть ли примеры реализации?

PS: Постарался максимально детально описать задачу, надеюсь, что вопрос не слишком общий:)
  • Вопрос задан
  • 1930 просмотров
Пригласить эксперта
Ответы на вопрос 4
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Добрый день!
Если на сервере установлен MS Office, то установлены и библиотеки для работы с ним (Excel.Interop, Word.Interop и т.д.)
Алгоритм следующий:
1) Заполняется форма на стороне клиента и данные отправляются на сервер;
2) На сервере создается экземпляр документа Word, в него заносится информация из шаблона и заполняется данными из формы;
3) Получившийся файл Word НЕ сохраняется на сервере, а передается обратно клиенту в потоке, в котором, опять же, указываем через что его следует открывать на стороне клиента.

Если же нет MS Office на сервере, то можно его самому собрать, т.к. .docx есть ни что иное, как набор упорядоченных xml-файлов. Можете свой шаблон открыть через архиватор и убедиться в этом, а уж если покопаться во внутренностях этих файлов, то можно найти какие данные в xml нужно поменять.
Алгоритм:
1) Получаем данные с формы;
2) Копируем шаблон через архиватор (7zip, например), открываем необходимые xml-файлы и подменяем в них информацию на необходимую;
3) выгружаем файл в поток, не забыв уничтожить измененную копию шаблона (ну или почистить память, если вы физически нигде ничего не сохраняли);
4) передаем поток клиенту.
Ответ написан
Uwe_Boll
@Uwe_Boll
Я Злой и Страшный Уве Болл в Разработке знаю Толк
Посмотри Здесь
Ответ написан
Комментировать
Подключаете расширение PhpWord к проекту, далее в docx файле размещаете метки для замены, и скриптом меняете метки на данные пользователя, и далее отдаете на скачку или сохраняете на сервер готовый документ.
Ответ написан
nki
@nki
bezkart.ru готовая система лояльности
На сервере установлен MS Office?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы