Praca z biblioteką phpexcel do obsługi plików excel w php

Wprowadzenie do phpexcel

PHPExcel to jedna z najpopularniejszych bibliotek PHP, która umożliwia pracę z plikami Excel.

Została zaprojektowana, aby ułatwić tworzenie, modyfikowanie i odczytywanie plików XLSX i XLS w aplikacjach PHP. Dzięki PHPExcel programiści mogą efektywnie zarządzać danymi arkuszy kalkulacyjnych bez konieczności korzystania z aplikacji Excel. Warto zauważyć, że PHPExcel jest już przestarzałą wersją i została zastąpiona przez bibliotekę PhpSpreadsheet, jednak nadal jest używana w wielu projektach.

W tym artykule przyjrzymy się podstawowym funkcjom PHPExcel oraz nauczymy się, jak ją wdrożyć w naszym projekcie PHP. Omówimy również, jak zainstalować bibliotekę, jak tworzyć nowe pliki Excel oraz jak odczytywać i modyfikować istniejące arkusze kalkulacyjne.

Instalacja phpexcel

Instalacja PHPExcel jest stosunkowo prosta i można ją przeprowadzić na kilka sposobów. Najbardziej zalecaną metodą jest użycie narzędzia Composer, które automatycznie zainstaluje wszystkie potrzebne zależności. Aby zainstalować PHPExcel za pomocą Composer, należy dodać odpowiedni wpis do pliku composer.json lub uruchomić komendę composer require phpoffice/phpexcel w terminalu. Po zainstalowaniu, Composer doda bibliotekę do katalogu vendor w projekcie.

Alternatywnie, można pobrać najnowszą wersję PHPExcel bezpośrednio z repozytorium GitHub i umieścić ją w katalogu projektu. W takim przypadku należy ręcznie dołączyć plik PHPExcel.php w kodzie PHP. Choć ta metoda jest mniej zalecana, może być przydatna w przypadku, gdy nie używamy Composer.

Tworzenie nowego pliku excel

Tworzenie nowego pliku Excel za pomocą PHPExcel jest bardzo proste. Na początku należy załadować bibliotekę i utworzyć nowy obiekt PHPExcel. Możemy następnie uzyskać dostęp do arkuszy kalkulacyjnych i wprowadzać dane. Poniżej znajduje się przykład kodu, który tworzy nowy plik Excel i zapisuje go na dysku:


require 'path/to/PHPExcel.php';

$objPHPExcel = new PHPExcel();

$sheet = $objPHPExcel->getActiveSheet();

$sheet->setCellValue('A1', 'Hello World !');

$objWriter = PHPExcelIOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter->save('helloworld.xlsx');

Praca z biblioteką phpexcel do obsługi plików excel w php

Odczytywanie istniejącego pliku excel

Odczytywanie danych z istniejącego pliku Excel za pomocą PHPExcel również jest dość intuicyjne. Należy załadować plik Excel za pomocą obiektu PHPExcelIOFactory i następnie uzyskać dostęp do danych za pomocą metod oferowanych przez bibliotekę. Oto przykładowy kod:


require 'path/to/PHPExcel.php';

$objPHPExcel = PHPExcelIOFactory::load('existingfile.xlsx');

$sheet = $objPHPExcel->getActiveSheet();

$data = $sheet->getCell('A1')->getValue();

echo $data;

Dodawanie i modyfikowanie danych w arkuszu

PHPExcel pozwala nie tylko na odczytywanie danych, ale również na ich modyfikowanie. Możemy dodawać nowe komórki, zmieniać istniejące wartości i formatować dane. Aby dodać dane do konkretnej komórki, wystarczy użyć metody setCellValue. Możemy także modyfikować istniejące dane, wprowadzając nowe wartości do odpowiednich komórek:


$sheet->setCellValue('B2', 'Nowa wartość');

$objWriter = PHPExcelIOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter->save('modifiedfile.xlsx');

Formatowanie komórek i arkuszy

PHPExcel oferuje szeroki zakres opcji formatowania komórek. Możemy zmieniać czcionki, kolory tła, wyrównanie tekstu i inne właściwości. Formatowanie komórek jest przydatne, gdy chcemy poprawić czytelność danych lub dostosować wygląd arkusza kalkulacyjnego do naszych potrzeb. Przykład formatowania komórek:


$sheet->getStyle('A1')->getFont()->setBold(true);

$sheet->getStyle('A1')->getFill()->setFillType(PHPExcelStyleFill::FILLSOLID);

$sheet->getStyle('A1')->getFill()->getStartColor()->setARGB(PHPExcelStyleColor::COLOR_YELLOW);

PHPExcel jest wszechstronną biblioteką, która umożliwia efektywne zarządzanie danymi w plikach Excel za pomocą PHP. Choć jest to już przestarzała wersja, jej podstawowe funkcje nadal mogą być bardzo przydatne. Instalacja jest prosta, a podstawowe operacje takie jak tworzenie, odczytywanie, modyfikowanie i formatowanie danych są łatwe do wykonania. Mimo że PHPExcel zostało zastąpione przez PhpSpreadsheet, wiele projektów nadal korzysta z tej biblioteki i będzie to przydatna wiedza dla programistów pracujących z starszymi systemami.

Warto zainwestować czas w naukę PHPExcel, szczególnie jeśli pracujemy nad projektami, które już korzystają z tej biblioteki. Jej znajomość może pomóc w zarządzaniu i manipulacji danymi w arkuszach kalkulacyjnych w sposób bardziej efektywny i zautomatyzowany.