Przejdź do treści
Convertube

Pliki Excel: skoroszyt to ZIP z XML, a PDF w ogóle nie ma tabel

Co naprawdę zawiera XLSX, dlaczego wyjęcie tabeli z PDF to wnioskowanie, a nie wydobycie, i które komórki stają się liczbami. Konwertuj w przeglądarce.

W skrócie

Typ
Dokumenty
Rozszerzenia
.xlsx
Typ MIME
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Znany też jako
XLSX, Microsoft Excel, spreadsheet

Plik .xlsx to archiwum ZIP z XML, zbudowane tak samo jak .docx opisany na stronie o Wordzie i będące częścią tego samego przejścia na Office Open XML z 2007 roku. Zmień nazwę na .zip, a znajdziesz część skoroszytu z listą arkuszy, po jednej części na arkusz z komórkami, część stylów i pliki relacji, które łączą to wszystko. Ponieważ to XML w ZIP, skoroszyt można zapisać bez żadnego kodu Microsoftu, i tak robi ta strona — pięć części XML generowanych bezpośrednio, zamiast dokładania do paczki biblioteki arkuszy. Tekst komórek trafia jako ciąg wbudowany, więc każdy arkusz jest samodzielny, a limity są takie jak w samym Excelu: 1 048 576 wierszy, 16 384 kolumny, 255 arkuszy.

Czytaj dalej

Cała trudność leży po drugiej stronie. PDF nie ma tabel. Ma ciągi znaków, każdy z własnym położeniem, a widoczne linie to niezwiązane z nimi operacje rysowania — nic w pliku nie zapisuje, że komórka istnieje, nie mówiąc o tym, który tekst do niej należy. Siatkę trzeba więc wywnioskować z geometrii, i tak naprawdę robi to każde narzędzie, które to oferuje, łącznie z płatnymi.

Wnioskowanie przebiega w dwóch krokach. Wiersze wynikają ze wspólnych linii bazowych, i to jest ta niezawodna połowa, bo właśnie tak stronę złożono. Kolumny wynikają z nakładających się zakresów poziomych, a pasmo musi powtarzać się w kilku wierszach, zanim zostanie uznane za kolumnę — powtarzalność odróżnia prawdziwą kolumnę od akapitu, który akurat ma wcięcie. Same lewe krawędzie nie wystarczają, i warto to zapisać, bo to oczywista pierwsza implementacja, która zawodzi na najzwyklejszej tabeli: kolumna ilości wyrównana do prawej z wartościami 6, 96 i 240 ma trzy różne lewe krawędzie, każda przesunięta o cyfrę, więc kolumna się rozpada, a każdy wiersz dostaje zbędną pustą komórkę. Nakładanie się zakresów obsługuje wyrównanie do lewej, do prawej i do środka bez potrzeby wiedzy, z którym ma do czynienia.

To, co trafia do komórki jako liczba, jest celowo zachowawcze: zwykłe liczby dziesiętne, opcjonalnie ze znakiem, i nic więcej. 007, 1,234, 2026-09-10, +44 20 i wszystko z symbolem waluty zostaje dokładnie takie, jak wyglądało, bo zero na początku, separator tysięcy i data to informacje, które wymuszenie liczby by zniszczyło. Miejsca dziesiętne są zachowywane, więc 48.50 przychodzi jako 48.50, a nie 48.5. Ograniczenia są podane na stronie, a nie ukryte: scalone komórki trafiają do pierwszej kolumny, którą obejmują, komórka z tekstem zawiniętym na dwie linie staje się dwoma wierszami, na każdą stronę powstaje jeden arkusz, a strona bez powtarzalnej struktury kolumn wraca jako jedna kolumna linii — co jest uczciwą odpowiedzią dla prozy.

Konwertuj inne formaty na Excel

Excel — FAQ

Czy XLSX to naprawdę plik ZIP?

Tak, dokładnie jak DOCX. Zmień nazwę na .zip i otwórz go: w środku są części XML dla skoroszytu, dla każdego arkusza, dla stylów i dla relacji między nimi.

Czy liczby naprawdę dadzą się zsumować?

Tak, w komórkach ze zwykłymi liczbami dziesiętnymi — są zapisywane jako liczby, więc SUMA i pozostałe funkcje na nich działają. Wszystko niejednoznaczne celowo zostaje tekstem, a tekstu się nie sumuje.

Dlaczego mój numer referencyjny 007 przyszedł jako tekst?

Bo zero na początku to informacja. Zapisanie go jako liczby zamieniłoby go w 7 i nie byłoby sposobu, żeby go odzyskać, więc wartości, które tylko wyglądają na liczby, zostają dokładnie takie, jak były.

Moja tabela straciła granice kolumn. Dlaczego?

Kolumny są rozpoznawane po zakresach komórek, które nakładają się i powtarzają w dół strony. Tabela z jednym czy dwoma wierszami albo z nieregularnie rozmieszczonymi komórkami nie daje wnioskowaniu niczego, czego mogłoby się uchwycić, i wraca jako linie tekstu.

Czy działa na zeskanowanym PDF?

Nie, i odmawia, zamiast zgadywać. Rozpoznawanie zwraca jedną linię tekstu na obszar wykrycia, co wystarcza do odbudowania prozy, ale nie siatki — obszary na tyle często łączą sąsiednie komórki, że wynik wyglądałby jak tabela i byłby błędny.

Czy mogę tu przekonwertować Excel na PDF?

Nie lokalnie. Wyrenderowanie skoroszytu tak jak Excel — podziały stron, obszary wydruku, szerokości kolumn — wymaga Excela lub LibreOffice, a żaden z nich nie działa w karcie przeglądarki. Tutejsze konwersje prowadzą do XLSX, a nie z niego.