Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Създаване на динамични Excel таблици с PHP
  1. Въвеждане на текст
  2. Запаметяване и изпълняване на формули
Mutatos
     
Автор  Mutatos (14.04.2005 23:23)  съобщение до автора
Погледнат  7527 пъти  добави към любими
Оценка  добави коментар
Гласове  2  изпрати на приятел
Коментари  (2)  абонирай се за PHP
    Страница 1 / 2

 



Има случаи, когато даден клиент може да изиска от вас да му се предостави дадена информация в Excel таблица. Това не би трябвало да ви затруднява, защото чрез PHP имате възможноста динамично да създавате такива. Разбира се имате и възможноста да предоставите данните в CSV формат, който също се отваря от Excel във вид на таблица, но един от многото недостатъци е, че се загубва форматирането на информацията. За генерирането на Excel таблици PHP се оповава на библиотеката от Pear пакета, на име Spreadsheet_Excel_Writer. Тя записва данните в така наречения BIFF5 Format (представяне на данните в бинерна форма), който формат се разчита от Excel. На базата на два примера ще разгледаме конкретно как функционира цялата система.

Като начало нека си свалим необходимата библиотека, ако все още не я притежавате. Библиотеката може да си свалите от тук : http://pear.php.net/package/Spreadsheet_Excel_Writer/download. Необходимата документация към нея може да намерите ето тук: http://www.dcc.uchile.cl/~xnoguer/peardoc2/package.fileformats.html#package.fileformats.spreadsheet-excel-writer

Нека като първи пример да се опитаме да въведем малко текст в няколко клетки и да създадем нашия документ. Като начало трябва да се вмъкне необходимата библиотека.

CODE
1
include_once 'Spreadsheet/Excel/Writer.php';

Създаване инстанция на класа:

CODE
1
$xls =& new Spreadsheet_Excel_Writer();

Изпращане на документа към броузъра:

CODE
1
$xls->send("test.xls");

Отваряне на нова работна папка:

CODE
1
$sheet =& $xls->addWorksheet('Test');

Въвеждане на текст в клетката А1. Чрез този клас клетките не се бележат по стандартния начин за Excel "А1", а във вид на координати 0,0:

CODE
1
$sheet->write(0,0,"Towa e pyrwijat mi tekst");

Ако искаме да напишем малко текст и същевременно да го форматираме трябва първо да въведем форматирането:

CODE
1
$format =& $xls->addFormat();

Удебеляване на текста

CODE
1
$format->setBold();

Оцветяване на текста в синьо

CODE
1
$format->setColor("blue");

Въвеждане на текста в клетка B2

$sheet->write(1,1,"Formatiran tekst",$format);

Затваряне на документа:

CODE
1
$xls->close();

Следва целия пример за тестване и снимка от резултата:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    include_once
"Spreadsheet/Excel/Writer.php";
   
   
$xls =& new Spreadsheet_Excel_Writer();
   
$xls->send("test.xls");
   
$sheet =& $xls->addWorksheet('Test');
   
$sheet->write(0,0,"Towa e pyrwijat mi tekst");
   
$format =& $xls->addFormat();
   
$format->setBold();
   
$format->setColor("blue");
   
$sheet->write(1,1,"Formatiran tekst",$format);
   
$xls->close();
?>




  Следваща страница >> 


Ключови думи: php excel таблица pear Spreadsheet_Excel_Writer клас ексел


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: Mutatos  
Николай Николов се занимава с програмиране на PHP/MySQL повече от 6 години. Заедно с разработката на уеб приложения на PHP, се занимава с Java, XML и Webservices.
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Здравейте,
къде трябва да сложа библиотеката и под какво име?
Предварително благодаря.

  dobadoba на 18.09.2007 15:53

OK само че...:

Warning: main(OLE/PPS/Root.php) [function.main]: failed to open stream: No such file or directory in /srv/www/htdocs/02write.into.xls/Spreadsheet/Excel/Writer/Workbook.php on line 39

Fatal error: main() [function.require]: Failed opening required 'OLE/PPS/Root.php' (include_path='/usr/share/php') in /srv/www/htdocs/02write.into.xls/Spreadsheet/Excel/Writer/Workbook.php on line 39


и то след като поправих пътищата до всеки един от документите, кажи от къде да ги намеря тея файлове...?

  dam_dam на 10.01.2007 13:02

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008