Čitanje EXCEL-a u PHP-u, glavne metode klase PHPEXCEL

Koristeći PHPExcel, možete čitati i pisati informacije u datoteke, formatirati njihov sadržaj, izvoditi operacije sa formulama, stilovima itd.

PHPExcel je biblioteka dizajnirana za obradu podataka u MS Excel formatu. Uz njegovu pomoć možete čitati i pisati informacije u datoteke, formatirati njihov sadržaj, izvoditi operacije s formulama, stilovima itd.
PHPExcel zahteva PHP 5.2 ili noviji za rad, kao i omogućene ekstenzije ZIP, XML i GD2.
Napomena: Ekstenzija php_zip je potrebna samo kada se koriste klase PHPExcel_Reader_Excel2007, PHPExcel_Writer_Excel2007 i PHPExcel_Reader_OOCalc. To jest, ako želite da koristite PHPExcel za potpun rad sa datotekama u .xlsx ili .ods formatima, onda će vam trebati ekstenzija zip.

Funkcije PHPExcel biblioteke:

1. PHPExcel može čitati različite formate datoteka sa tabelama:

  • Excel5
  • Excel2003XML
  • Excel2007
  • OOCalc
  • SYLK
  • Gnumeric
  • CSV

2. Kreiranje i obrada dokumenata koristeći PHP

Instaliranje PHPExcela:
1) Preuzmite biblioteku sa službene web stranice http://phpexcel.codeplex.com/
2) U preuzetoj arhivi kopirajte sadržaj iz foldera classes u korijen stranice

Sastav arhive:

/classes                    // Каталог библиотеки PHPExcel
/classess/PHPExcel/         // Каталог классов библиотеки PHPExcel 
/classess/PHPExcel.php      // Файл для include?содержит ключевые  методы для обработки данных
/documentation		    // Полная документация по использованию библиотеки
/license.txt                // Лицензионное соглашение
/install.txt                // Краткая инструкция по установке
/examples            	    // Каталог с примерами по использованию PHPExcel
/changelog.txt              // Список изменений в текущей версии

Primjer čitanja Excel datoteke pomoću PHPExcel klase

Da biste pročitali podatke iz Excel datoteke, morate povezati datoteku biblioteke PHPExcel i koristiti metodu load() klase PHPExcel_IOFactory. Ova metoda prikuplja podatke od svih sa svih listova trenutnog dokumenta:

require_once '/путь/до/файла/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('/путь/до/файла/simple.xlsx');

Zatim formiramo niz svih listova u Excel datoteci koristeći petlju:

Foreach($excel ->getWorksheetIterator() as $worksheet) {
 $lists[] = $worksheet->toArray();
}

Izlaz generiranog niza u obliku HTML tabela:

foreach($lists as $list){
 echo '<table border="1">';
 // Перебор строк
 foreach($list as $row){
   echo '<tr>';
   // Перебор столбцов
   foreach($row as $col){
     echo '<td>'.$col.'</td>';
 }
 echo '</tr>';
 }
 echo '</table>';
}

Osnovne metode i svojstva PHPExcel klase

PHPExcel klasa je jezgro PHPExcela. Sadrži veze do sadržanih listova, postavke sigurnosti dokumenta i metapodatke dokumenta. Pored navedenih, ova klasa uključuje mnoge druge korisne metode za obradu primljenih podataka. Neki od njih će biti opisani u nastavku.

getSheetCount() - vratiće broj listova u knjizi;

getSheetNames() - Vraća listu svih listova u radnoj svesci, indeksirajući ih redosledom kojim se njihove "kartice" pojavljuju kada se otvore u MS Excel-u (ili drugim programima za tabelarne proračune);

getSheet(N) - koristi se za pristup listu po indeksu. Indeks pozicije (N) predstavlja redosled kojim se kartice radnog lista prikazuju kada je radna sveska otvorena u MS Excel-u (ili drugim programima za tabelarne proračune);

getSheetByName(list_name) - metoda se koristi za pristup listu po imenu (list_name);

getActiveSheet() - Ova metoda vam omogućava da direktno pristupite aktivnom listu dokumenta. Aktivni list je onaj koji će biti aktivan kada se radna sveska otvori u MS Excel-u (ili drugom odgovarajućem programu za proračunske tablice);

setActiveSheetIndex() i setActiveSheetIndexByName() - Koristeći ove metode, možete označiti list da bude aktivan po njegovom indeksu ili imenu.

Dobivanje vrijednosti ćelije po koordinatama

Da biste dobili vrijednost ćelije, ćelija se prvo mora pronaći pomoću metode getCell. Vrijednost ćelije se može dobiti pomoću sljedeće naredbe:

$objPHPExcel->getActiveSheet()->getCell('B8')->getValue();

U slučaju da su vam potrebne izračunate vrijednosti ćelije, umjesto getValue(), koristite metodu getCalculatedValue():

$objPHPExcel->getActiveSheet()->getCell('B8')->getCalculatedValue();

Dobivanje vrijednosti ćelije po redovima i stupcima

Da biste dobili vrijednost ćelije, ćelija na radnom listu mora se prvo pronaći pomoću metode getCellByColumnAndRow. Vrijednost ćelije se može dobiti pomoću sljedeće naredbe:

$objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 8)->getValue();

Zaključak

Ovaj članak govori o glavnim mogućnostima PHPExcel biblioteke u području čitanja Excel datoteka. Pored svega navedenog, ovu biblioteku je moguće fleksibilnije koristiti za rad s različitim parametrima tablice. Za ova pitanja preporučljivo je pogledati dokumentaciju. PHPExcel biblioteka je takođe prilagođena za rad sa drugim tipovima datoteka, kao što je Excel (BIFF). XLS, Excel 2007 (OfficeOpenXML). XLSX, CSV, Libre / OpenOffice Calc. ODS, Gnumeric, PDF i HTML.