Korzystanie z arkuszy Excel do synchronizacji danych w aplikacji

Excel jest bardzo dobrym narzędziem do analizy, oraz przetwarzania względnie dużej ilości stabelaryzowanych danych.

Dzięki zastosowaniu formuł o dowolnym stopniu skomplikowania, jesteśmy w stanie umieścić na jego stronach wiele informacji oraz operacji logicznych, tym samym zyskując cenne narzędzie, dzięki któremu możemy zaoszczędzić sporą ilość czasu i pieniędzy.

Excel bywa narzędziem dość skomplikowanym i nie każdy potrafi korzystać ze wszystkich jego dobrodziejstw. A jest ich wiele, a nawet bardzo wiele. Do najciekawszych można zaliczyć:



  • Wyszukiwanie i sortowanie pionowe.

  • Funkcje warunkowe IF

  • Importowanie danych bezpośrednio z baz danych MySQL i MSSQL.

  • Rysowanie zaawansowanych wykresów różnego rodzaju, z możliwością dynamicznego odświeżania.

  • Operacje matematyczne na macierzach.

  • Praca na jednostkach i ich automatyczne przeliczanie.

  • Zaawansowane możliwości formatowania.


Mimo to Arkusze Kalkulacyjne posiadają swoje ograniczania i w miarę rozrostu każdej firmy, praca na nich zaczyna być coraz bardziej uciążliwa. Problemem jest synchronizacja danych, nie ma możliwości płynnej pracy na jednym arkuszu przez kilka osób. Oczywiście Microsoft w najnowszych wersjach pakietów Office, umożliwia zapisywanie plików w chmurze One Drive, wspólny dostęp do nich, eksport, historie wersji i inne, jednak dalej jest to rozwiązanie pośrednie, które sprawdzi się tylko na mniejszą skalę. Należy pamiętać również o wydajności – zeszyty nie są w stanie przeszukiwać zbyt wiele wierszy (ogólnie maksymalna ilość wierszy w jednym pliku to 1 048 576 wiersze), przechowywać setek megabajtów zdjęć i wykonywać naraz większej ilości operacji na formułach. Ograniczeń jest oczywiście więcej np. korelacja między wierszami bywa kłopotliwa.


Biblioteki do obsługi arkuszy kalkulacyjnych

Istotną informacją, jest to, że Microsoft nie udostępnia oficjalnych rozwiązań do obsługi formatów .xls i .xlsx, poza pakietem MS Office, a jedynie bardzo techniczne i obszerne opisy standardów. Na szczęście większość problemów dawno zostało rozwiązane przez społeczność. Dzięki pracy programistów powstały biblioteki do większości popularnych języków programowania. W przypadku PHP jest to bibloteka PhpSpreadsheet.


Import danych

Wiele firm decyduje się na stworzenie dedykowanej aplikacji na pewnym etapie rozwoju. Do tego czasu gromadzą dane korzystając z pakietu Office, archiwizując finanse, zamówienia, towary i inne. Przy przenoszeniu procesów biznesowych do nowego programu komputerowego czy aplikacji webowej, jednym z kluczowych elementów staje się import danych. Przeniesione dane przetwarzamy na różne sposoby po to aby otrzymać dane wynikowe, które są potrzebne do zapewnienia płynności działania naszej firmy.

Importy zasadniczo możemy podzielić na dwa różne rodzaje:



  • import pierwotny,

  • import wtórny.


Różnią się one od siebie tym, że import pierwotny odbywa się dla nowych danych i służy on do przeniesienia procesów biznesowych do aplikacji, podczas gdy import wtórny jest częścią pracy z aplikacją. Przykładowo import wtórny możemy wykonać na eksportowanych danych (o tym później), obrabiając dane w Excel’u ponieważ jest to szybsze i czytelniejsze w niektórych przypadkach, niż bezpośrednia praca w aplikacji.

Nie ważne czy rozmawiamy o imporcie pierwotnym, wtórym, czy o jakimkolwiek innym procesie w działaniu aplikacji i programów musimy pamiętać o jednej niezmiennej zasadzie – komputery to maszyny, które wykonują operacje pożądane i stworzone przez nas - ludzi. Nie umieją myśleć samodzielnie i rozwiązywać problemów do których ich nie stworzono.

Dlatego w przypadku importu, musimy wyjść poza ludzki poziom dokładności i wejść na ten komputerowy, bardzo dosłowny. Program komputery nie jest w stanie domyśleć o co nam chodziło przy imporcie, dlatego przed implementowaniem funkcjonalności dedykowanych musimy bardzo dokładnie przemyśleć, co właściwie chcemy osiągać i musimy tych założeń trzymać się przy każdym ładowaniu danych. Bez rozbudowy aplikacji nie jesteśmy w stanie zmieniać pierwotnych założeń w czasie. Mówimy tu o takich cechach arkuszy kalkulacyjnych jak ilość, kolejność, zawartość kolumn i wierszy, w zależności od złożoności naszego systemu do zarządzania firmą – oprogramowanie zazwyczaj rośnie i rozwija swoje funkcje z czasem. Oczywiście nasze pomysły powinniśmy konsultować z biznesem i IT po to aby uzyskać jak najlepszy wynik co z kolei doprowadzi do optymalnego działania całej aplikacji nie tylko tej części odpowiedzialnej za import danych.

Pobocznym zagadaniem importu są ograniczenia możliwości bibliotek, ponieważ tak jak było napisane wcześniej wszystkie z nich są wspierane przez społeczność, a nie Microsoft, co z kolei niesie za sobą zagrożenia braku wsparcia, co w praktyce przekłada się na to, że w przypadku braku jakiejś funkcjonalności w bibliotece mamy zablokowaną możliwość przeniesienia funkcji do naszej nowej aplikacji.


Export danych

Zagadnienie eksportu danych do arkuszy kalkulacyjnych wydaje się bardziej uporządkowane niż import, ponieważ najczęściej odbywa się na poziomie „z bazy danych”, co oznacza, że potrzebne informacje są już stabelaryzowane, a naszą rolą jest przeniesienie tych danych do formatów obsługiwanych przez Excela.

Eksportowany plik to nie tylko wartości w kolumnach. Biblioteki do obsługi arkuszy kalkulacyjnych umożliwiają większość, operacji obsługiwanych przez pakiet MS Office, w tym obsługę formuł, wielu arkuszy, zdjęć oraz formatowanie wyjściowego arkusza kalkulacyjnego.

Po co nam export danych? Zasadniczo do dwóch celów. Pierwszy z nich to import wtórny i umożliwienie pracy ludziom, którzy nie chcą / nie mogą korzystać z dedykowanej aplikacji , lub gdy nie umożliwia ona wymaganych operacji. Drugi cel to statystki – przetwarzanie istniejących danych. A do tego Excel nadaję się świetnie.

LinkedIn

O autorze

Piotr Zatorski
PHP Developer