PHP, сгенеренный экселевый файл и разные версии экселя

GRIG

Новичок
PHP, сгенеренный экселевый файл и разные версии экселя

Народ! Помогите, кто чем может! Скорее всего, я сюда обратился не совсем по адресу. Но что-то я не придумал, куда надо с таким делом обращаться.
Проблема такая. Есть веб-сервер, который работает с базой данных. Все страницы, используемые на сервере, написаны на PHP. При некоторых условиях по команде от пользователя сервер должен взять существующий XLS-файл ("заготовку"), заполнить его данными из базы и отдать пользователю. Для того, чтобы это сделать, используется пакет PHPExcel и его класс PHPExcel_Writer_Excel5.
На стороне сервера все работает великолепно. А вот на стороне клиентов возникают проблемы. Если у клиента стоит ОпенОфис (не важно виндовый или линуховый - проверял и там, и там), то клиент полученный файл (и его содержимое) великолепно видит. А вот если у клиента стоит родной мелкомягкий офис-2007 - то с полученным файлом возникают проблемы. А именно: ячейки с числами отображаются нормально, а вот ячейки с формулами могут показывать ошибки при вычислении. Но при этом если ткнуть мышой в ячейку с ошибкой, из появившейся менюшки выбрать пункт "исправить формулу", потом ничего не менять и просто ткнуть в "Enter", - то ошибка пропадает, и в этой ячейке появляется цифирь. Причем цифирь не абы какая, а именно такая, какая должна получиться по формуле.
Особую пикантность ситуации добавляет вот какой момент. В файле-заготовке используемая в формуле функция написана латинскими буквами - SUMPRODUCT. При открытии сгенерированного файла в русифицированном мелкомягком экселе в соответствующей ячейке написано русскими буквами СУММПРОИЗВ. Т.е. эксель правильно опознает использованную в формуле функцию, переводит ее название на русский, но по каким-то причинам не хочет ее вычислять. И в то же время с функцией SUM/СУММ все работает нормально.
При попытке использовать при генерации экселевого файла класс PHPExcel_Writer_Excel2007 результат неудовлетворительный - ОпенОфис не может прочитать получившийся файл. А мне нужно универсальное решение.
Если кто знает, как с этим бороться, подскажите, пожалуйста.
Или хотя бы пошлите в правильную сторону.
Заранее спасибо.
 

GRIG

Новичок
Это, конечно, схожая проблема. Но все равно непонятно как с ней бороться.
 

AlekseyK

Новичок
Вы пробовали загружать данные из xml файла. (меню данные -> xml -> импорт)?

Заготовка со всеми формулами лежит у пользователя. К заготовке подключена xml-карта.

Для обновления данных из базы нужно всего лишь нажить кнопку "обновить xml-данные".

(тут есть ограничение - xml-импорт доступен только в PRO версии майкросовтовского офиса)
 

GRIG

Новичок
Этот вариант в моем случае не годится. Нужно универсальное решение, пригодное для всех возможных экселей и эксель-подобных программ. Кроме того, в моем случае заготовка с формулами должна лежать на сервере.
 
Сверху