Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как сохранить результат запроса в Excel?


Автор: kulikoff 5.7.2007, 16:45
Мне необходимо сделать так, чтоб выполнялся запрос и его результаты сохранялись в xls файл, который будет ложиться на хосте в заданную папку. Короче. мне необходимо, чтоб генерировался прайс для скачивания. И выполнить это надо на ПХП. Подскажите, плиз, или дайте ссылку, где можно про это почитать. А то по формуму поискал - обрывочная инфа, но часто задача стоит обратная из Екселя в ПХП...

Автор: sTa1kEr 5.7.2007, 18:11
Недавно отвечал на идентичный вопрос тут http://forum.vingrad.ru/forum/topic-161697.html

Автор: kulikoff 6.7.2007, 16:04
Супер! Спасибо большое! smile 

Автор: kulikoff 7.7.2007, 20:20
Всё получается по описанному sTa1kEr методу. кроме одного: я ж создаю на хосте файл с расширением xls. А как же мне в него впихнуть php-скрипты? Они у меня не выполняются, а просто выводится их текст... А расширение файлу ж менять нельзя... Как поступить?
И ещё, а Ексель не сохраняет параметры страницы при сохранении листа, как веб-страницы? Ну там альбомную ориентацию листа при печати или колонтитулы разные.. А то у меня что-то не получается это

Автор: sTa1kEr 8.7.2007, 00:09
Цитата(kulikoff @  7.7.2007,  20:20 Найти цитируемый пост)
я ж создаю на хосте файл с расширением xls. А как же мне в него впихнуть php-скрипты? Они у меня не выполняются, а просто выводится их текст... А расширение файлу ж менять нельзя... Как поступить?

Почему же нельзя? На сервере может быть любое расшиение, главное, что бы в конечном счете пользователю отдавался файл с расширением xls. Пример, файл price.php
Код

<?php
header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );
header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );
header ( "Pragma: no-cache" );
header ( "Content-type: application/x-msexcel" );
header ( "Content-Disposition: attachment; filename=price.xls" );
?>
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta name="Excel Workbook Frameset">
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 12">
<style>
<!-- стили экселя -->
</style>
</head>
<body>
<table>
<?php
foreach ($rows as $row)
{
   // ...
}
?>
</table>
</body>
</html>

Цитата(kulikoff @  7.7.2007,  20:20 Найти цитируемый пост)
И ещё, а Ексель не сохраняет параметры страницы при сохранении листа, как веб-страницы? Ну там альбомную ориентацию листа при печати или колонтитулы разные.. А то у меня что-то не получается это

Это, вероятно, никак средствами xhtml не сделать...  smile Увы, метод не без недостатков.

Автор: kulikoff 10.7.2007, 16:22
спасибо!

Автор: GodEatGod 11.7.2007, 12:07
помогите, пожалуйста, разобраться. 

есть: 
Код

<input type="submit" value="сохранить в excel">

в обработчике формы должен быть запрос:
Код

select id, title, price, price2 from catalogue order by id;
результы, которого нужно сохранить в C:\Inetpub\wwwroot\price.xls

price.xls подготовлен(сначала сохраняю в htm, потом переименовываю в xls), содержит 4 столбца и  заголовок.

как можно найти тег tr в xls(может должен получиться price.xls.htm?)? 

дальше не получилось. 
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)