[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP Вызрузка данных в Excel
zvezda_t
Здравствуйте, уважаемые программисты!

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

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



Спустя 3 часа, 21 минута, 3 секунды (24.03.2011 - 11:33) oleg_shade написал(а):
PHPExcel тебе в помощь smile.gif

Спустя 1 час, 24 минуты, 24 секунды (24.03.2011 - 12:58) Snus написал(а):

Спустя 24 минуты, 26 секунд (24.03.2011 - 13:22) zvezda_t написал(а):
Snus
это точно для работы в php?

Спустя 2 минуты, 3 секунды (24.03.2011 - 13:24) Snus написал(а):
zvezda_t
Абсолютно точно smile.gif Я ее использую для создания Excel-документов.

Спустя 51 секунда (24.03.2011 - 13:25) Snus написал(а):
zvezda_t
Вот пример.

<?php
require_once 'Spreadsheet/Excel/Writer.php';

$workbook = new Spreadsheet_Excel_Writer();
$worksheet =& $workbook->addWorksheet();

// put text at the top
$format_top =& $workbook->addFormat();
$format_top->setAlign('top');
$format_top->setTextWrap(1);

// center the text horizontally
$format_center =& $workbook->addFormat();
$format_center->setAlign('center');

// put text at the top and center it horizontally
$format_top_center =& $workbook->addFormat();
$format_top_center->setAlign('top');
$format_top_center->setAlign('center');

$worksheet->write(0, 0, 'On top of the world!',
$format_top);
$worksheet->write(1, 0, 'c', $format_center);
$worksheet->write(2, 0, 'tc', $format_top_center);

$workbook->send('align.xls');
$workbook->close();
?>

Спустя 30 минут, 31 секунда (24.03.2011 - 13:56) zvezda_t написал(а):
Snus, круто! smile.gif

Спустя 27 дней, 23 часа, 38 минут, 45 секунд (22.04.2011 - 12:34) zvezda_t написал(а):
Я прочитала, что можно генерировать Excel, с помощью xml и csv.

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


1)А как мне полученные файл отправить в браузер?

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

2)Два вопроса:
Как создать csv файл? Как открыть его в браузере в формате excel?

Спустя 2 часа, 3 минуты, 14 секунд (22.04.2011 - 14:37) zvezda_t написал(а):
Snus
я скачала архив Spreadsheet_Excel_Writer-0.9.2.
а как его установить? rolleyes.gif

Спустя 25 минут, 52 секунды (22.04.2011 - 15:03) Snus написал(а):
zvezda_t
Если ОС Linux:
В консоле:
pear install Spreadsheet_Excel_Writer-0.9.2

Спустя 2 часа, 11 минут, 17 секунд (22.04.2011 - 17:15) zvezda_t написал(а):
а если Windows?

Спустя 2 дня, 16 часов, 30 минут, 37 секунд (25.04.2011 - 09:45) zvezda_t написал(а):
я попробовала подключиться к классу у меня вышла ошибка:
Цитата
Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: No such file or directory in C:\www\excel_file\Spreadsheet\Excel\Writer.php on line 34


Где можно скачать PEAR.php? и как его установить?

Спустя 18 минут, 14 секунд (25.04.2011 - 10:03) Игорь_Vasinsky написал(а):
Я с этим неработал, но вдруг там в конфиге надо пути прописать?

Спустя 1 час, 15 минут, 58 секунд (25.04.2011 - 11:19) Snus написал(а):
Цитата (zvezda_t @ 22.04.2011 - 14:15)
а если Windows?

А если документацию хорошо читать? smile.gif
http://pear.php.net/manual/ru/faq.windows.php

Спустя 27 минут, 16 секунд (25.04.2011 - 11:47) zvezda_t написал(а):
Snus, спасибо тебе!!!
у меня в папке c:\php\pear лежит файл:
go-pear.phar
его переименовывать нужно? или добавить туда же еще файл pear.php?

Спустя 28 минут, 12 секунд (25.04.2011 - 12:15) zvezda_t написал(а):
Цитата
Для того, чтобы PEAR работал под Windows, вам нужно всего лишь добавить путь к дистрибутиву PEAR (обычно это c:\php\pear) в директиву include_path в файле php.ini.


я нашла в файле php.ini

; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"
; http://php.net/include-path

что мне нужно написать?
так:
include_path = "c:\php\pear"
??

Спустя 8 минут, 35 секунд (25.04.2011 - 12:24) zvezda_t написал(а):
как же правильно распоковывается pear?????????
((((((((((((((((((((((((((((((((((

Спустя 1 час, 29 минут, 24 секунды (25.04.2011 - 13:53) zvezda_t написал(а):
У кого-нибудь получилось открыть Excel через COM объекты?
у меня не открывает документ(
почему?

Покажите пожалуйста пример, у кого есть... rolleyes.gif

Спустя 16 часов, 37 минут, 21 секунда (26.04.2011 - 06:30) zvezda_t написал(а):
Вариант, который у меня заработал, предложил oleg_shade (респект тебе)
класс PHPExcel.

Кто с ним работал, подскажите мне пожалуйста, как рамкой выделить табличку?

чтобы установить внешнюю рамку, пишу так:
$styleThinBlackBorderOutline = array(
'borders' => array(
'outline' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('argb' => 'FF000000'),
),
),
);

$objPHPExcel->getActiveSheet()->getStyle('A4:E10')->applyFromArray($styleThinBlackBorderOutline);

В итоге получаю границу прямоугольника A4:E10. А как мне отметить границы каждой ячейки этого прямоугольника? То есть превратить прямоугольник в табличку?

Спустя 21 минута, 47 секунд (26.04.2011 - 06:52) ИНСИ написал(а):
zvezda_t вижу, что ты уже нашла класс необходимый, но можешь посмотреть немного разработку kirik. Очень грамотно и хорошо сделано, вот: http://phpforum.ru/index.php?showtopic=35342

Спустя 27 минут, 10 секунд (26.04.2011 - 07:19) zvezda_t написал(а):
velboxспасибо!

Что касается PHPExcel.
Я нашла)))))))
Смотрите файл примеров 23sharedstyles.php


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.