Программирование > PHP

Excel средствами PHP

(1/4) > >>

zuko:
Тема заезженная, но все же...
С помощью метода, описанного здесь собрал чтото типа:

//создаем новый объект COM – excel.application 
$xls = new COM("excel.application");
// Скрываем приложение MS Excel
$xls->Application->Visible = 0;
//Создаем новую книгу 
$wkb = $xls->Workbooks->Add(); 
// Выбрали ячейку A1
$range=$xls->Range("A1");
// Вставили значение
$range->Value = "Hello";
//Сохраняем документ
$wkb->SaveAs("C:/file.xls");
//Завершаем работу с MS Excel
$wkb->Close(false);
$xls->Workbooks->Close();
$xls->Quit();
unset($sheet);
unset($xls);

А сейчас вопрос:
Мне не надо сохранять файл на локальном диске С:
Мне необходимо выдать сгенерированный файл в браузер клиента, вернее в браузере клиента должен открыться диалог на сохранение файла.

Всевозможные хидеры на подобие:

header("Content-Disposition: attachment; filename=file.xls"); 
header("Content-Type: application/octet-stream\\r\\n"); 
header("Content-Type: application/force-download\\r\\n"); 
header("Content-Type: application/download\\r\\n");
header("Content-Transfer-Encoding: binary\\r\\n");

во всевозможных местах скрипта не помогают - диалог появляется, но открывается пустой файл.

hanslinger:
А application/vnd.ms-excel или как-то так если?

zuko:
без изменений... :(

zuko:
Но вот если я делаю какую-то ошибку то она отображается не в броузере, а в файле (который пустой).
Т.е. я так понимаю, не хватает какой-то одной командочки, которая работает наподобие $wkb->SaveAs("C:/file.xls"), но сохраняет данные не в файл на локальном диске, а во временный файл, который отправляется в броузер.
Пробовал методом подбора, типа $wkb->Send или $wkb->Output - не угадал...

brainkiller:
Так напишите $wkb->Send сами, какие проблемы-то? Возьмите за образец $wkb->SaveAs и перепишите код так, чтобы метод не писал вывод в файл, а отправлял http-заголовок и вывод направлял в стандартный поток.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии