Я столкнулся с подобной ситуацией прошедшим летом. Поскольку времени на поиск решения у меня не было, пришлось что-то придумывать. Был найден класс PHP Excel Reader и на его основе написан, возможно и кривой, но вполне рабочий и годящийся для моих нужд, сниппет. Сразу скажу - работает он только с одной страницей экселевского документа без изображений. Содержимое документа выводится на страницу в виде таблицы.
Исходный код сниппета Pricelist:
<?php
$path = (isset($path))? $path :"";
$conf = (isset($conf))? $conf : "default";
require_once "assets/snippets/pricelist/config/".$conf.".conf.php";
$data = new Spreadsheet_Excel_Reader("$path");
$encoding = (isset($encoding))? $encoding : "utf-8";
$data->setOutputEncoding("$encoding");
echo $data->dump(true,true);
?>
Сниппет имеет три возможных параметра:
&path - путь к документу Excel.
&conf - конфигурация для вывода документа на страницу. Начинал копаться с этим параметром, но не было времени. Так что "default" по умолчанию. Были еще два варианта, они в прилагающемся архиве. Если кто-то возьмется, будет здорово.
&encoding - кодировка документа. UTF-8 по умолчанию.
Пример вызова на странице:
[!Pricelist? &path=`assets/files/example.xls` &encoding=`utf-8`!]
Прилагающиеся файлы прилагаются -
http://narod.ru/disk/15320197000/pricelist_snippet.zip.html
P.S. Буду благодарен, если у уважаемых коллег по сообществу возникнут комментарии, касающиеся оптимизации (наличия ошибок в...) данного сниппета. Программистом я не являюсь и опыт работы с PHP у меня, мягко скажем, довольно посредственный, а сниппет, возможно, пригодится не мне одному.