Plik XLSB jest plikiem binarnym Microsoft Office Excel. Informacje wewnątrz pliku XLSB są przechowywane jako dane binarne w porównaniu, podczas gdy w zwykłych plikach XSLX dane są przechowywane jako pliki XML, które są następnie kompresowane.
Praca z dużymi plikami Excela jest często uciążliwa. Otwierają się wolniej, ich zapis trwa wieczność, a często trzeba je przesłać do chmury, aby udostępnić je współpracownikom lub rodzinie. Dlaczego więc nie poznać zalet formatu pliku XSLB (czasami mylonego z XLSB)?
Co to jest format pliku XLSB?
Plik XLSB to format pliku Excel Binary Workbook. Pliki binarne są zwykle odczytywane i zapisywane znacznie szybciej i są bardziej mniejsze niż pliki niebinarne. Dzieje się tak dlatego, że pliki binarne są surowym zrzutem (w zasadzie 1’s i 0’s) pamięci. Jeśli otworzysz pliki binarne mogą one wydawać się bełkotliwe. Pliki binarne mogą być otwierane tylko wtedy, gdy znasz dokładny typ obiektu, który jest plikiem. Pliki tekstowe z drugiej strony (JSON, XML, CSV, tekst), jak sama nazwa wskazuje, są plikami, które można otworzyć w edytorach tekstu (Word, Notatnik itp.), a ich struktura jest wbudowana w pliku może być zrozumiana przez zwykłe czytanie pliku.
Na przykład plik XML zazwyczaj ma własną notację znaczników i znaczników, strona HTML ma powszechnie przyjęte standardy, takie jak HTML5, pliki CSV mają kolumny i wiersze oddzielone delimiterami kolumn i wierszy. Wadą plików tekstowych jest to, że wymagają one nadbudowy struktury w samym pliku tekstowym np. pojedyncza zmienna całkowita w pliku XML będzie musiała być osadzona w zestawie znaczników.
Więc co jest wewnątrz pliku XLSX (lub XLSM) (obraz po prawej). Co masz na myśli wewnątrz? – zapytasz.
Pliki XLSX i XLSM są w rzeczywistości skompresowanymi archiwami z plikami XML w środku. Dzieje się tak dlatego, że Microsoft otworzył format pliku Excel i postanowił rozbić jego wnętrze na pliki XML. Kiedy plik XLSX lub XLSM jest zapisywany, Excel musi go rozbić na osobne pliki XML, skompresować i ostatecznie zapisać jako XLSX lub XLSM.
Z drugiej strony format pliku XLSB jest binarnym plikiem Excela. Przypomina on stary format pliku XLS, który również był plikiem binarnym.
Co się dzieje, gdy Excel chce zapisać plik XSLB? Niewiele tak naprawdę. Przeważnie zrzuca dane binarne do pliku binarnego i zapisuje go jako XLSB.
Zalety XLSB (XLSB vs. XLSX)
- Mniejszy rozmiar pliku – plik binarny Excela zajmuje zauważalnie mniej miejsca. Jest to bardziej zauważalne zwłaszcza podczas pracy z dużymi plikami Excela. W niektórych przypadkach słyszałem o plikach XLSB, które wymagały 10% oryginalnego rozmiaru pliku – jest to bardziej widoczne przy BARDZO dużych plikach
- Otwierają się/zapisują szybciej – wczytywanie danych binarnych jest szybsze niż parsowanie plików tekstowych (XML) – podobnie jak w przypadku otwierania książki w języku hiszpańskim i konieczności tłumaczenia każdego zdania na język angielski, w przeciwieństwie do wzięcia do ręki gotowej przetłumaczonej kopii. Podobnie przy zapisie pliku – format binarny jest bardziej wydajny niż wrzucanie danych z powrotem do XML i następnie ich kompresja. Z mojego doświadczenia pliki XLSB otwierają się i zapisują 2x szybciej
- Obsługuje formuły powyżej limitu 8192 znaków. W innych formatach plików nie zapisują się one poprawnie
Yahoo! Cóż, wydawać by się mogło, że nie ma nic mniej oczywistego do zrobienia niż rozpoczęcie pracy tylko na formacie XLSB. Jednakże, nie jest to prosta decyzja, ponieważ istnieją pewne drobne komplikacje. Oto kilka, które przychodzą mi na myśl…
Wady XLSB (XLSB vs XLSX)
- Kompatybilność – format XLSB Excela nie jest obsługiwany przez Excel 2003 i wcześniejsze wersje, co szczerze mówiąc jest mniejszym problemem w dzisiejszych czasach
- Bezpieczeństwo (VBA) – dzięki rozróżnieniu formatu XLSM i XLSX wiesz, które pliki mogą zawierać makra VBA, a które nie. W przypadku XLSB nie będziesz wiedział na pewno. Dlatego uważaj przy otwieraniu plików XLSB z nieznanych źródeł lub od osób/stron, którym nie ufasz
- Podczas pracy nad plikiem XLSB nie możesz wprowadzać zmian na wstążce Excela. Musisz tymczasowo zapisać swój plik jako XLSX lub XLSM, dokonać zmian i zapisać go z powrotem jako XLSB.
- Brak współpracy z narzędziami innych firm. XLSB jest binarnym formatem pliku w przeciwieństwie do otwartych plików XML XLSX i XLSM. Stąd często nie zobaczysz swoich plików XLSB działających wszędzie – jak w OpenOffice
Inne sugestie podczas pracy z dużymi plikami Excela lub zbiorami danych
Zazwyczaj zaczynam od sugestii szybkich zwycięstw i zostawiam bardziej złożone na deser. Format pliku XLSB jest dobrym początkiem i często nie wymaga ingerencji w dane/formatowanie/treść skoroszytu, słusznie, bo nie powinno się tego robić. Jednak od czasu do czasu będą takie momenty, kiedy to nie wystarczy i po prostu nie będziesz w stanie dłużej pracować z powolnym i dużym plikiem Excela. Oto kilka przydatnych wskazówek:
- Zmniejsz rozmiar pliku usuwając nieużywane komórki
- Zapisz pliki danych bez formatowania – formatowanie może zajmować dużo miejsca na dysku i jeśli po prostu pracujesz ze zbiorem danych i nie potrzebujesz formatowania zapisz swój plik w formacie .xml
- Zapisz pliki danych bez formatowania – formatowanie może zajmować dużo miejsca i jeśli po prostu pracujesz ze zbiorem danych i nie potrzebujesz formatowania zapisz swój plik w formacie .xml lub jako .csv
- Wyłącz automatyczne obliczenia – często nawet niezbyt duże pliki Excela powodują zawieszanie się Excela lub jego awarię. Może to być spowodowane dużą ilością formuł Excela, które muszą być przeliczane za każdym razem, gdy dokonywana jest zmiana itp. Spróbuj zmienić Opcje Obliczeń na Ręczne, aby pozbyć się tego problemu
- PowerQuery Add-In – Excel ma swoje ograniczenia podczas pracy z dużymi zbiorami danych. Excel PowerQuery Add-In firmy Microsoft został zaprojektowany do obsługi Big Data i złożonych zapytań do zewnętrznych baz danych lub źródeł danych. PowerQuery pozwoli Ci na wydajniejszą pracę z takimi zbiorami danych i nie będzie ograniczać ilości rekordów, które możesz obsłużyć w ramach jednego arkusza Excela
Wspólne mity o XLSB
Czy XLSB uruchamia formuły szybciej niż XLSX?
- Nieprawda
Plik XLSB są tylko szybciej ładowane i rozładowywane (zapisywane i zamykane) niż pliki XLSX. Następnie oba formaty działają w pamięci RAM z podobną wydajnością na tym samym silniku Excela. Dlatego też nie zauważysz, aby formuły Excela działały znacznie szybciej. Jednakże, jeśli często zapisujesz swój plik, z pewnością zauważysz, że format XLSB zapisuje go szybciej.
Czy pliki XLSB częściej się zawieszają?
- Nieprawda
Format pliku XLSB w żaden sposób nie zwiększa prawdopodobieństwa zawieszenia się pliku. Jednakże, jeśli plik ulegnie awarii, może być trudniejszy do odzyskania. XLSB są plikami binarnymi, podczas gdy pliki XLSX i XLSM są w rzeczywistości skompresowanymi plikami XML – plikami tekstowymi w formacie XML. Dlatego w krytycznej sytuacji masz zdecydowanie większą szansę na odczytanie pliku tekstowego niż pliku binarnego. Jednak nie przejmowałbym się tym zbytnio.
Czy pliki XLSB mogą być otwierane tylko przez Excela?
- Prawda
Binarne pliki Excela nie są (zazwyczaj) obsługiwane przez inne pakiety Office (takie jak Open Office). Dzieje się tak dlatego, że wprowadzając formaty *X (docx, xlsx itd.) Microsoft wprowadził otwarty format plików, który pozwolił tym innym programom na łatwiejsze niż dotychczas otwieranie i edytowanie tych plików. Z tego powodu należy być świadomym podczas pracy z binarnym formatem Excela, kiedy pracuje się z kolegami, którzy mogą chcieć używać alternatywnych programów do współpracy z Tobą.
Wnioski
Na co dzień zalecałbym trzymanie się XLSX i XSLM jako standardowych formatów plików Excela. Warto sięgać po format XLSB zawsze wtedy, gdy plik zaczyna działać wolno lub zajmuje bardzo dużo miejsca.
XLSB w rzeczywistości nie przyniesie korzyści małym plikom Excela, a nawet możesz zauważyć, że małe pliki XLSB zajmują więcej miejsca niż małe pliki XLSX/XSLM. Twoi klienci / współpracownicy mogą również mieć wątpliwości przy otwieraniu plików XLSB, ponieważ Excel traktuje te formaty plików z dodatkową dozą ostrożności.
Formatu XLSB należy używać GŁÓWNIE z bardzo DUŻYMI plikami Excela.