Возможен ли экспорт из отправленной на сайте формы в существующий Excel или Google Spreadsheet файл (шаблон)? Видел несколько способов создания файла на лету, но ситуация такова, что файл слишком сложный, чтобы его создать при помощи php.
Или, может быть, есть другие программы/сервисы для создания электронных таблиц, помимо вышеупонянутых, в которые будет проще наладить экспорт? Никогда раньше не имел дел с офисным софтом.
заказчик предоставил excel шаблон, гигантский, с миллионом пустых ячеек. это шаблон для печати на бланках под осаго. они хотят, чтобы с сайта они получали готовый к печать шаблон в электронной табоице. может я идиот, но мне кажется создавать csv файл с миллионом ячеек это не самый быстрый процесс. тем более что мне важны размеры этих пустых ячеек и т.д
ндааа, видел я подобные файлы, похожи на миллиметровку )
я думаю лучшим вариантом было бы сначала «оптимизировать» сам шаблон
то есть посмотреть как можно расположить данные точно также, но с меньшим количеством столбцов
где нужно объединить, где нужно расширить и тп
а потом уже генерировать такой xls файл, какими средствами — это уже второй вопрос, например, PEAR:: Spreadsheet_Excel_Writer или т.п., но переделать шаблон имхо обязательно
И еще рассмотреть как вариант, небольшой трюк.
Сначала подготавливаете соответствующим образом шаблон екселя:
на первом листе — их шаблон, а в местах куда вам надо писать данные — формулу-подстановку данных из второго листа
на втором листе — тупо данные в столбик или строчку как вам удобнее
Итак, php читает форму, забивает данные во 2-й лист, а первый генерит из заранее подготовленного один раз кэша и выдает юзеру. Юзер скачивает, открывает, срабатывают формулы — вуаля, данные на своих местах.
В принципе можно и не дорабатывать их шаблон. Прописываете формулы, кладете его на сервер в качестве «образца», пхп открывает этот файл, читает форму, изменяет 2-лист и выдает получившееся на скачку, не меняя исходник. Все.
В одном, достаточно специальном случае я использовал связку PHP + CLI + Excel как раз для подобной работы. Конечно, это требует установки MS Office на сервер, но в принципе возможно и работает.
Когда-то давно существовал класс BiffWriter, который мог генерить достаточно простенькие эксельные файлы.
Но он был платным, не умел объединять ячейки и закрашивать их, а еще в OpenOffice были проблемы с русской кодировкой.
Не знаю, как с ним обстоят дела сейчас, но возможно, он вам чем-то поможет.