Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] PHP Вызрузка данных в Excel, из БД

Ответить
Настройки темы
[решено] PHP Вызрузка данных в Excel, из БД

Пользователь


Сообщения: 124
Благодарности: 2

Профиль | Отправить PM | Цитировать


Здравствуйте, уважаемые программисты!

Пожалуйста, посоветуйте мне самый лучший класс для работы с Excel !
Мне нужно выгрузить данные из БД и сформировать отчет в виде excel на php.

Заранее огромное спасибо!

Отправлено: 08:13, 24-03-2011

 

Deadooshka


Сообщения: 2512
Благодарности: 690

Профиль | Отправить PM | Цитировать


Если сохранять excel в виде XML (спецификации OpenXML), то можно по шаблону. Т.е. сохраните excel в виде XML (есть в списке опция). Потом откройте файл в текстовом редакторе - на основе того XML-кода делаете вывод в xls-файл из базы (будет обычный XML-файл, открываемый в excel).
Другой вариант - через COM...
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:23, 24-03-2011 | #2



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

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


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Возможно проще создать простой csv файл.
Просто генерите простой файл, разделяя внутри строки данные разделителем (например, запятой). Далее открываете в excel, указывая разделитель.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:57, 24-03-2011 | #3

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Варианты без com для xls:
например, + в PEAR есть (или был?) - Spreadsheet/Excel/Writer.php
Это же, портированное в вариант без PEAR можно было бы найти в phpclasses

А если отчет без особых красивостей, то можно вообще использовать csv
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:06, 24-03-2011 | #4


Пользователь


Сообщения: 124
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата PhilB:
Далее открываете в excel, указывая разделитель. »
PhilB, а как мне его открыть в Excel?

Отправлено: 13:27, 25-04-2011 | #5


Пользователь


Сообщения: 124
Благодарности: 2

Профиль | Отправить PM | Цитировать


Sham, через Com объекты у меня вообще не отображается(((
даже не открылся Excel
почему так?

Отправлено: 14:07, 25-04-2011 | #6


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 1.png
(56.8 Kb, 13 просмотров)

У вас должен получиться что-то типа:
--------------
1,2,3,4
3,c,4,3
-------------
Между линий приведен пример содержмого файла.

Насколько я помню, если у файла расширение csv он предложит его импортировать (независимого от того в проводнике или из excel Файл->Открыть). Майкрософтского офиса нет, но у вас должно быть что-то типа 1.png. (это OpenOffice)
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:40, 25-04-2011 | #7


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Собственно, глянул сейчас Office 2007 и понял, почему вы не поняли как открыть. Ибо сам не понял, почему нельзя открыть через Файл -> Открыть. Может и можно, но это как то нетривиально и вовсе.
Единственный найденный способ: во вкладке "Данные" есть кнопка "Из текста" - там выбираете файл и импортируете. Интерфейс там сходный со скрином выше (идейно).
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:44, 26-04-2011 | #8


Пользователь


Сообщения: 124
Благодарности: 2

Профиль | Отправить PM | Цитировать


Сделала кнопку
PHP код: Выделить весь код

print "<input type='button' name='pechat1' onClick=\"location.href='excel_file/dct_excel_1.php'\" value='Печать-Com'>"

dct_excel_1.php:
PHP код: Выделить весь код

$xls = new COM("Excel.Application"); // Создаем новый COM-объект
    
$xls->Application->Visible 1;      // Заставляем его отобразиться
    
$xls->Workbooks->Add();              // Добавляем новый документ
     
    
$rangeValue $xls->Range("A1");
    
$rangeValue->Value "В выделенном блоке текст будет жирный, подчеркнутый, наклонный";
    
$rangeValue $xls->Range("A2");
    
$rangeValue->Value "Шрифт будет иметь высоту 12";
    
$rangeValue $xls->Range("A3");
    
$rangeValue->Value "Имя шрифта - Times New Roman"

При нажатии на кнопку в браузере (IE6) открывает пустое окно и никакой реакции.
Что не так?

Вот иcпользуя Com объекты, можно же только сам объект в браузер отправить?
А если я класс PHPExcel использую, объект этого класса как мне в браузер отправить?
У меня получилось создать документ Excel используя класс PHPExcel, но в примере нашла только как отправить его в браузер через заголовки или как его сохранить на сервере.
PHP код: Выделить весь код

//1)отправляем в браузер через заголовки
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');

$objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel5');
$objWriter->save('php://output');

//2)сохраняем
$objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
$objWriter->save(str_replace('.php''.xlsx'__FILE__)); 

Через заголовки не могу, у меня на этой страничке еще много чего не нужного выводиться...
Как же мне его открыть?

Отправлено: 07:28, 27-04-2011 | #9


Deadooshka


Сообщения: 2512
Благодарности: 690

Профиль | Отправить PM | Цитировать


Цитата zvezda_t:
Через заголовки не могу, у меня на этой страничке еще много чего не нужного выводиться...
Как же мне его открыть? »
при чем тут страница, если нужен отдельный запрос на файл... делайте ссылку на этот скрипт, который отдает содержимое. Либо разруливайте выдачу с помощью параметров (например, ?get=excel)
Цитата zvezda_t:
Вот иcпользуя Com объекты, можно же только сам объект в браузер отправить?
А если я класс PHPExcel использую, объект этого класса как мне в браузер отправить? »
в браузер нужно содержимое файла отправлять, с соотв. заголовками.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:41, 29-04-2011 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] PHP Вызрузка данных в Excel, из БД

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Помогите написать макрос в Excel, экспорт данных из Excel в Word. E.v.g Программирование и базы данных 7 03-05-2018 22:18
2007 - Автоматическая групировка данных в Excel maugli1212 Microsoft Office (Word, Excel, Outlook и т.д.) 0 13-10-2010 01:13
2003/XP/2000 - Excel. Вопрос по копированию данных MAFY Microsoft Office (Word, Excel, Outlook и т.д.) 2 06-05-2010 05:04
MsOffice | Макросы Excel, база данных sitaka Программирование и базы данных 2 08-09-2006 20:13
Excel. не работает преобразование типов данных. deni5 Программирование и базы данных 2 26-01-2004 21:55




 
Переход