Перейти к содержимому


Сохранение price-листа в формате .xls


  • Вы не можете ответить в тему
Сообщений в теме: 8

#1 vsupport

    Продвинутый пользователь

  • Администраторы
  • 758 сообщений
Репутация: 31
Ассистент

Отправлено 01 July 2011 - 01:47 PM

В файле core/includes/pricelist.php находишь в самом низу строчку:
header("Content-Disposition: attachment; filename=price.xml;");

и меняешь расширение на xls
header("Content-Disposition: attachment; filename=price.xls;");

Соответственно и подпись для клиентов на странице прайса поправь на «Скачать прайс (в формате Exсel XLS)»

источник


  • 0

#2 Realiz

    Новичок

  • Download User
  • Pip
  • 7 сообщений
Репутация: 0
Начинающий

Отправлено 28 May 2012 - 08:15 PM

header("Content-Disposition: attachment; filename=price.xls;");
Файл стал сохраняться с расширением xls, но по содержимому он не стал xls
Есть более действенный способ?
  • 0

#3 msidog

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 166 сообщений
Репутация: 42
Ассистент
  • ГородКривой Рог

Отправлено 28 May 2012 - 10:09 PM

что то не правильно сделали...
примером есть такой:


  • 0
Мой хостинг <<<invitehost.ru>>>
vsupport.club --Лучшее решение всех проблем ;)

#4 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 29 May 2012 - 02:24 PM

что то не правильно сделали... примером есть такой:

В примере обычный XML-файл, хотя и имеющий расширение XLS.
Первой же строкой в нем стоит
<?xml version="1.0" encoding="windows-1251"?>
:)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#5 msidog

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 166 сообщений
Репутация: 42
Ассистент
  • ГородКривой Рог

Отправлено 29 May 2012 - 02:28 PM

ну хз парни =)))
я делал по этому примеру и ексель 2007 скучивает его на ура)
  • 0
Мой хостинг <<<invitehost.ru>>>
vsupport.club --Лучшее решение всех проблем ;)

#6 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 29 May 2012 - 02:45 PM

я делал по этому примеру и ексель 2007 скучивает его на ура

А если оставить по старому, в XML, то не скучивает?
Смысл-то такого переименования в чем? :)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#7 msidog

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 166 сообщений
Репутация: 42
Ассистент
  • ГородКривой Рог

Отправлено 29 May 2012 - 04:21 PM

:rolleyes: нужно подумать....хм....
наверное скучивание тогда смыла не имеет в таком xls....найдем выход ребята =)
  • 0
Мой хостинг <<<invitehost.ru>>>
vsupport.club --Лучшее решение всех проблем ;)

#8 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 24 March 2013 - 11:50 PM

Файл стал сохраняться с расширением xls, но по содержимому он не стал xls Есть более действенный способ?

Тема заброшенная, но интересная. Есть.

Библиотека PHPexcel. Вот наиболее понравившееся мне "хау ту" - http://www.web-junio...shhyu-phpexcel/
Только что решал обратную задачу - чтение XLS - и решил оживить тему. Как я понимаю, реализовать прайс в XLS проблемы не составит, там практически готовый исходник в ссылке.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#9 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 24 March 2013 - 11:56 PM

месяца три назад делал быстрое решение (нужно было срочно), достаточно весь вывод отловить через ob_start и выдать браузеру как файл через http_header. Все прекрастно работало даже отдавались картинки и работали ссылки, поскольку Excel без проблем понимает html формат в чистом виде, и даже прожовывает css (но не все)

примерно
{php}
$out1 = ob_get_contents();
ob_end_flush();
$csv_output ='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<base href="{$smarty.server.SERVER_NAME}" />
<meta http-equiv="content-type" content="text/html; charset=cp1251" />
<meta name="author" content="" />
<style type="text/css">
table.gre_y{background:#D0D1D5;}
table.gre_y td{background:#fff;color:#000 !important;border:1px solid #000;}
table.gre_y table td{border:none;}
table.gre_y td.lt{font-weight:bold;background:#ffcc00;color:#000 !important;}
table.gre_y a{color:#000 !important;}
table.gre_y.noline{font-size:20px;}
</style>
<title></title>
</head>
<body>';
$csv_output .= $out1;
$csv_output .='</body></html>';
file_put_contents('price.xls', $csv_output);
{/php}

  • 0
Изображение Изображение Изображение