maj
28
2015

PHPExcel – export + import pliku XLS

phpexcelPrzedstawię rozwiązanie problemu rozpoznawania oraz oznaczania nazw kolumn przy pomocy atrybutu rangeName. Przy okazji opiszę pewne haczyki, które warto znać przy zabawie z dokumentami Excela używając biblioteki PHPExcel.

Wygląd dokumentu po eksporcie

excel_przyklad
Po atrybucie range name (tutaj products_price) będziemy mogli poprawnie rozpoznać kolumnę pomimo zmiany wartości komórki z pierwszego wiersza (Cena brutto).

Utworzenie obiektu PHPExcel

Wrzucamy na serwer klasy PHPExcel i ładujemy je. Dodatkowo tworzymy instancję obiektu wraz z wyborem aktywnego arkusza, na którym będziemy pracować.

Oznaczenie kolumn i eksport do pliku

Sam export do pliku jest prosty, natomiast zaplanowanie kodu do poprawnego oznaczenia kolumn wymaga drobnego przemyślenia.
Powinno to działać tak, aby użytkownik mógł zmienić nazwę tytułową kolumny bez utraty informacji czego dana kolumna dotyczy. Będzie nam to potrzebne przy imporcie, abyśmy nadal wiedzieli za co dana kolumna jest odpowiedzialna.
Użyjemy do tego atrybutu rangeName.

Tworzymy tablicę z literami, jako odpowiednik Excela, np:

Następnie należy dołożyć mapowanie pól produktów przesłanych z bazy do czytelnych dla użytkownika.

Przesyłamy POSTem tablicę kolumn tabeli z bazy danych.

Nazywamy odpowiednio kolumny (komórki pierwszego wiesza).

Wypełniamy pozostałe komórki wartościami products_id oraz products_price.

Zapis dokumentu do pliku.

Import danych z pliku Excel XLS/XLSX

Pobieramy kolejność kolumn wg. rangeName.

Tworzenie w HTML tabeli wynikowej po przeparsowaniu pliku. Nazwy kolumn.

Generowanie pozostałych komórek tabeli HTML z wartościami produktów.

Dodatkowe informacje

Autor wpisu: Arkadiusz Krakiewicz

Programista i właściciel sklepu jednocześnie, dzięki temu rozumie potrzeby osób prowadzących sprzedaż w internecie. Od 2006 związany z eCommerce. Zaczynał jako freelancer tworząc sklepy oraz strony www. Aktualnie zajmuje się: programowanie w PHP, Symfony 2, Android, PrestaShop, osCommerce, OpenCart, WordPress.

Dodaj komentarz

Anti-Spam

O mnie

Arkadiusz Krakiewicz
Programista aplikacji webowych dla branży eCommerce. Jednocześnie jako właściciel sklepu zna od "podszewki" potrzeby osób prowadzących sprzedaż w internecie.
W swoich rozwiązaniach stawia na funkcjonalność i wydajność aplikacji pod kątem obsługi klienta.
[X]
Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików cookies.
Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.
Więcej w Obsługa sklepu, Skrypty i moduły, Tips & Tricks
Wordpress logo
WordPress + Polylang – Tworzenie klasy CSS z ID strony/wpisu w wybranym języku

Tworząc kolejny serwis oparty o WordPress z możliwością zmiany języków z wtyczką Polylang, potrzebowałem pobrać ID strony/wpisu w wybranym przez...

Zamknij