Вывести файл Excel в PHP после эха - PullRequest
1 голос
/ 27 октября 2009

HI

Я пытаюсь отобразить результаты из базы данных в results.php. В том же файле, после того как все данные были отображены на текущей веб-странице, я помещаю кнопку для создания файла на основе этих результатов для создания файла Excel.

Я не уверен, как это сделать. Я пытался, но он говорит, что вы должны принудительно загрузить файл Excel перед любым эхо, но я хочу показать, а также создать файл Excel. Это возможно или я что-то упустил? Может кто-нибудь, пожалуйста, дайте мне знать, как это сделать правильно?

Ответы [ 5 ]

3 голосов
/ 27 октября 2009

Вы должны изменить заголовок страницы, чтобы открыть вывод для файла Excel в новом окне.

Тип заголовка: "application / vnd.ms-excel".

Если вы хотите создавать «хорошие» листы Excel, взгляните на PHPExcel

PHPExcel

2 голосов
/ 27 октября 2009

Возможно, вы сталкиваетесь с ошибкой «Заголовок уже установлен». Вы должны разделить два шага, чтобы заставить это работать. Один шаг для отображения и один для создания и загрузки файлов Excel.

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

Просто ткнись в темноте, дай нам знать, куда ты хочешь пойти, и мы поможем тебе ...

1 голос
/ 27 октября 2009

Сначала установите заголовки, а затем отобразите вывод CSV:

header("Content-type: application/text/x-csv");
header("Content-disposition: attachment; filename=report.csv");
echo "value1,value2\n";
echo "value3,value4\n";
1 голос
/ 27 октября 2009

Вы можете создать .cvs -файл, который намного проще, чем xls-файлы, и лучшая часть в том, что Excel поддерживает .cvs-файлы.

Затем, когда вы выводите свои данные пользователю, у вас есть отдельная переменная, которая называется что-то вроде $cvs, к которой вы применяете те же данные, что и при выводе, только в .cvs-формате и когда вы Вы сделали запись $cvs в файл.

Затем вы просто ссылаетесь на этот файл внизу страницы.

Возможно, вам придется принудительно загрузить пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...