Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
1

PHPExcel - почему сохраняет кнопку (input)?

26.01.2016, 09:27. Показов 927. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, дорогие форумчане.
Вывожу данные из БД в табличном виде. Сохраняю эти данные с помощью PHPExcel при нажатии на кнопку.
Вопрос: Почему у меня сохраняется кнопка в файл excel? и ещё почему не переименновывается файл экселя?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
<html>
 
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1251" />
<!--<meta name="Description" content="..."/>
<meta name="Keywords" content="..."/>-->
<title>Ajax</title>
<!--<script type="text/javascript" src="jquery-2.2.0.min.js"></script>-->
</head>
<body>
 
<form method="post" name="form">
<p><input name="savexcel" type="submit" value=" Сохранить в Excel"></p>
</form>
PHP
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
29
30
31
32
if (isset($_POST['savexcel'])){
// Подключаем класс для работы с excel
require_once 'Classes/PHPExcel.php';
// Подключаем класс для вывода данных в формате excel
require_once 'Classes/PHPExcel/Writer/Excel2007.php';
 
// Создаем объект класса PHPExcel
$xls = new PHPExcel();
// Устанавливаем индекс активного листа
$xls->setActiveSheetIndex(0);
// Получаем активный лист
$sheet = $xls->getActiveSheet();
// Подписываем лист
$sheet->setTitle("Таблица умножения");
 
 
 
//тут идет подключение к БД и вывод таблицы
 
 
 
    // Выводим HTTP-заголовки
 header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );
 header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );
 header ( "Cache-Control: no-cache, must-revalidate" );
 header ( "Pragma: no-cache" );
 header ( "Content-type: application/vnd.ms-excel" );
 header ( "Content-Disposition: attachment; filename=matrix.xls" );
 $objWriter = PHPExcel_IOFactory::createWriter($xls, 'Excel2007');
 $objWriter->save(str_replace('.php', '.xls', __FILE__));
 exit();
 }
HTML5
1
2
</body>
</html>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2016, 09:27
Ответы с готовыми решениями:

Не погу понять почему не сохраняет
Не могу найти в чем ошибка. Есть таблица в которую выгружается нужная информация из бд, это ее...

Phpexcel сохраняет битый xls
Всем привет! Кто-нибудь пользовался библиотекой phpexcel? Нивкакую не получается получить xls файл,...

Сохранение SQL-запроса с использованием PHPExcel по нажатию на кнопку
Здравствуйте Есть база Mysql и PHP 7.2 надо реализовать сохранение результата SQL запроса в...

PHPExcel Notice: iconv() [function.iconv]: Detected an illegal character in input string!
Блин задолбала эта библиотека!!! Выдает 2 ошибки!!! : Detected an illegal character in input...

3
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
26.01.2016, 10:36 2
Цитата Сообщение от RustamCTE Посмотреть сообщение
Почему у меня сохраняется кнопка в файл excel?
Видимо потому что вы её выводите. Поставьте тогда условие, что html-код формы (да и вообще любой html код) не должен выводиться, если идёт запрос на скачивание файла.
Цитата Сообщение от RustamCTE Посмотреть сообщение
почему не переименновывается файл экселя?
Потому что его имя указывается на 28 строке.
1
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
26.01.2016, 11:09  [ТС] 3
Цитата Сообщение от Jodah Посмотреть сообщение
Потому что его имя указывается на 28 строке.
Спасибо за ответы, я неправильно выразился. Имел ввиду лист файла
PHP
1
$sheet->setTitle("Таблица умножения");
на строке 14.

Я даже не представляю как поставить условие на не сохранение html-формы...подскажите?
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
26.01.2016, 12:04 4
Цитата Сообщение от RustamCTE Посмотреть сообщение
Имел ввиду лист файла
Этого не знаю, смотрите документацию, там этих тайтлов куча - для заголовка, для листов, для автора и т.д.

Цитата Сообщение от RustamCTE Посмотреть сообщение
как поставить условие на не сохранение html-формы
Запихнуть всю форму в условие:
PHP
1
if (isset($_POST['savexcel'])){
Было бы проще, если бы вы использовали html как шаблон, лежащий в отдельном файле. Т.е.:
PHP
1
2
3
4
5
6
if(isset($_POST['savexcel'])){
    // код вывода файла
}else
{
    require('common.php'); // Вывод обычного html
}
1
26.01.2016, 12:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2016, 12:04
Помогаю со студенческими работами здесь

Почему не сохраняет?
Почему при работе с проектом когда его сохраняешь в другую область а старый удаляешь при загрузке...

Почему не сохраняет куки?
всем привет вопрос такой вот у меня есть элемент массива $_COOKIE я присвоил ему значение...

Сохраняет почему-то пустой документ
Вот код: Dim obj As Object Set obj = GetObject(App.Path &amp; 'parkTCH25.xls', 'EXCEL.sheet')...

Почему программа не сохраняет данные в БД?
мне нужно сохранить данные про акции в базу данных. завела список, и при помощи запроса к БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru