Rozwój · Średnio zaawansowane
Dane produktów z Excela na stronę internetową: jedno źródło, bez przepisywania
W wielu firmach prawdziwą bazą produktów jest arkusz kalkulacyjny, a strona internetowa to druga kopia, którą ktoś wpisuje ręcznie. Kopia zawsze jest trochę w tyle. Import usuwa kopię.

Zdjęcie: Ibrahim Sharif, domena publiczna (CC0)
W tym poradniku
W skrócie
Trzymajcie dane produktów w jednej tabeli i pozwólcie stronie ją czytać. Nikt nie wpisuje produktu dwa razy. Arkusz potrzebuje jednego wiersza na każdy wariant, jednej kolumny na każdą cechę i numeru katalogowego, który nigdy się nie zmienia; import dopasowuje po tym numerze, więc drugi import aktualizuje produkty, a nie tworzy ich duplikatów.
Jak wygląda arkusz produktów, z którego da się korzystać?
Arkusz, z którego da się korzystać, to zwykła lista: jeden wiersz nagłówka, potem jeden wiersz na każdy wariant i nic więcej. To, co sprawia, że arkusz przyjemnie czyta się człowiekowi, czyli scalone komórki, nagłówki grup między wierszami i uwagi dopisane do wartości, nie pozwala odczytać go programowi.
| Część arkusza | Czytelne | Nieczytelne |
|---|---|---|
| Wiersze | Jeden wiersz na każdy wariant | Jeden wiersz na produkt, warianty wypisane w jednej komórce |
| Kolumny | Jedna cecha w każdej kolumnie | „Rozmiar / waga” razem w jednej komórce |
| Numer katalogowy | Zapisany jako tekst, nigdy niezmieniany | Przeformatowany, użyty ponownie albo przenumerowany |
| Wartości | 2,5 w jednej kolumnie, bar w następnej | „ok. 2,5 bara (maks.)” |
| Zdjęcia | Nazwa pliku w kolumnie | Zdjęcie wklejone do arkusza |
Dwie zasady są najważniejsze. Po pierwsze, jeden wiersz na każdy wariant: zawór w sześciu rozmiarach ma sześć wierszy, które mają wspólną nazwę produktu, a różnią się rozmiarem i numerem katalogowym. Po drugie, liczby i jednostki osobno. Komórka, która zawiera „2,5 bara”, jest tekstem i nie da się jej filtrować ani sortować.
Jak działa import i dlaczego drugi import nie duplikuje produktów?
Import czyta arkusz wiersz po wierszu i sprawdza każdy numer katalogowy: jeśli produkt istnieje, zostaje zaktualizowany, jeśli nie, zostaje utworzony. Dlatego numer katalogowy nigdy nie może się zmieniać i dlatego dopasowywanie po nazwie produktu jest kruche: jedna poprawiona literówka tworzy drugi produkt.
- EksportZapiszcie arkusz w uzgodnionym formacie, zwykle CSV albo plik Excela, z niezmienionym wierszem nagłówka.
- KontrolaImport porównuje nagłówek z kolumnami, których oczekuje, i odrzuca plik z brakującymi albo przemianowanymi kolumnami.
- DopasowanieKażdy wiersz jest dopasowywany do produktu i wariantu po numerze katalogowym.
- Utworzenie albo aktualizacjaNowe numery katalogowe stają się nowymi produktami. Znane dostają nowe wartości. Uzgodnijcie z góry, co oznacza pusta komórka, zwykle „pozostaw bez zmian”.
- RaportImport wymienia, co zostało utworzone, co zaktualizowane i które wiersze pominięto, z podaniem powodu.
Ta sama droga powinna działać w drugą stronę. Eksport katalogu ze strony w tym samym układzie kolumn daje wam w każdej chwili aktualny arkusz. Tak utrzymywane są nasze własne katalogi produktów: eksport, zmiana, ponowny import.
Co idzie nie tak z danymi produktów z Excela?
Niemal każdy nieudany import ma jedną z kilku przyczyn i wszystkie są w pliku, a nie na stronie.
| Co widzicie | Przyczyna | Co zrobić |
|---|---|---|
| Numer katalogowy 00417 przychodzi jako 417 | Komórka jest liczbą, więc zera wiodące znikają | Sformatujcie kolumnę jako tekst przed wpisaniem danych |
| Długi kod wyświetla się jako 4.01235E+12 | Excel pokazuje długie liczby w notacji naukowej | Zapisujcie kody jako tekst |
| Rozmiar taki jak 3-4 zamienia się w datę | Excel rozpoznaje we wpisie datę | Format tekstowy dla tej kolumny |
| 2,5 jest odczytywane jako 25 albo jako tekst | Przecinek dziesiętny w jednym miejscu, kropka dziesiętna w innym | Uzgodnijcie jeden zapis i wskażcie go importowi |
| Wszystkie dane lądują w jednej kolumnie | CSV rozdzielony średnikami, import oczekuje przecinków | Ustawcie separator w imporcie albo użyjcie pliku Excela |
| Polskie znaki i litery z akcentami są zniekształcone | Plik zapisany w starszym kodowaniu znaków | Zapiszcie jako CSV UTF-8 |
| Produkty pojawiają się dwa razy | Numer katalogowy się zmienił albo ma spację na końcu | Nigdy nie zmieniajcie numerów; usuńcie spacje |
Przecinek dziesiętny zasługuje w Europie na uwagę. Przy ustawieniach regionalnych niemieckich, francuskich, polskich albo chorwackich Excel domyślnie zapisuje ułamki dziesiętne z przecinkiem i rozdziela kolumny CSV średnikiem. Przy ustawieniach brytyjskich używa kropki i przecinka.
Ile czasu oszczędza import?
Oszczędność rośnie z każdą zmianą. Wykres to przykład poglądowy, a nie pomiar: nowe wartości dla 300 produktów.
Wpisywane na stronie po dwie minuty na produkt, to 600 minut, czyli 10 godzin, i kolejne 2 godziny na szukanie literówek: 12 godzin. Z arkusza wartości zmienia się formułą albo wklejeniem (1 godzina), importuje (pół godziny) i sprawdza wyrywkowo (1 godzina): 2,5 godziny.
Przykład poglądowy: godziny pracy przy zmianie 300 produktów
Kiedy arkusz przestaje wystarczać?
Arkusz dochodzi do granicy, gdy zmienia go kilka osób naraz albo gdy te same dane żyją już w innym systemie. Typowe oznaki: ceny są ręcznie kopiowane z systemu ERP do arkusza albo nikt nie jest pewien, który plik jest aktualny.
Wtedy źródłem powinien być system ERP albo system zarządzania informacją o produkcie (PIM), a strona powinna dostawać dane przez zaplanowany import albo połączenie przez API. Zasady zostają te same: jedno źródło, stały numer katalogowy, jeden wiersz albo rekord na każdy wariant. Uporządkowany arkusz nie jest więc straconą pracą.
Jak to robimy: zanim cokolwiek zbudujemy, prosimy o arkusz w takim stanie, w jakim jest dziś. Czytamy go, wypisujemy, czego import by nie zrozumiał, i uzgadniamy układ kolumn z osobami, które go prowadzą. Pierwszy pełny import to test, sprawdzany wspólnie z arkuszem.
Pytania, które słyszymy często
Chcecie mieć to załatwione bez robienia tego samodzielnie?
Napiszcie, nad czym pracujecie. W ciągu jednego dnia roboczego odpowie wam człowiek.
