2015-03-19 2 views
0

Мне нужно сгенерировать файл xls из массива PHP. Я знаю, как я могу это достичь: отправьте правильный заголовок и петлю <table>, <tr> и <td>. Проблема в том, что я работаю в среде, которая не позволяет мне использовать ob_start(); и его производные функции. Я говорю это, потому что, когда я запускаю этот кусок кода в середине PHP скрипт ...PHP Array to excel - Нежелательный вывод

// Lot of unwanted output 

// collecting data and defining $filename 
header("Content-Type: application/vnd.ms-excel"); 
header("Content-Disposition: inline; filename=$filename"); 
// foreach stuff here 

// Lot of unwanted output 

... результирующий файл XLS содержит также вывод страницы. В основном я создаю xls прямо посередине веб-страницы, поэтому вы понимаете, что в xls у меня есть вся страница с заголовком, контентом и нижним колонтитулом. Я знаю, что должен curl(); во внешний файл только с моими заголовками, но среда жестко запрограммирована. Я должен восстановить соединение с базой данных, включить все необходимые файлы, получить разрешения (...) для этой очень маленькой проблемы. Другими словами, я не хочу изобретать велосипед.

Сказал, что мой вопрос: есть ли способ очистить, смыть, уничтожить (...) все, за исключением моего скрипта, который генерирует xls? Имейте в виду, что я ничего не могу редактировать до и после моего скрипта.

спасибо.

+1

Это несколько иронично, чтобы создать формат файла для платформы в середине веб-страницы, ориентированной на платформу. Вам разрешено создавать CSV вместо этого? –

+0

использование phpexcel библиотека. или открыть новую вкладку в браузере и вывести там свой файл. –

+0

Да, я тоже могу создать CSV, но проблема будет такой же. О PHPExcel Я не хочу устанавливать всю библиотеку для достижения простой задачи, например, создания одного файла xls. – user1274113

ответ

0

В конце концов мне удалось решить эту проблему с помощью POST, чтобы отделить файл PHP. Я отправляю все ваули сериализованными и с base64_decode. Оно работает.