Naar de inhoud
Convertube

Excel-bestanden: een werkmap is een ZIP met XML, en een PDF heeft helemaal geen tabellen

Wat een XLSX echt bevat, waarom een tabel uit een PDF halen afleiden is en geen uitlezen, en welke cellen getallen worden. Converteer in je browser, gratis.

In één oogopslag

Type
Documenten
Extensies
.xlsx
MIME-type
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Ook bekend als
XLSX, Microsoft Excel, spreadsheet

Een .xlsx-bestand is een ZIP-archief met XML, gebouwd zoals de .docx die op de Word-pagina wordt beschreven en onderdeel van dezelfde overstap naar Office Open XML in 2007. Hernoem er een naar .zip en je vindt een werkmaponderdeel met de lijst van werkbladen, één onderdeel per werkblad met de cellen, een stijlonderdeel en de relatiebestanden die alles verbinden. Omdat het XML in een ZIP is, kan een werkmap worden geschreven zonder enige code van Microsoft, en dat doet deze site — vijf XML-onderdelen die rechtstreeks worden aangemaakt in plaats van een spreadsheetbibliotheek aan de bundel toe te voegen. Celtekst gaat erin als ingebedde tekenreeks, zodat elk werkblad op zichzelf staat, en de grenzen zijn die van Excel zelf: 1.048.576 rijen, 16.384 kolommen, 255 werkbladen.

Lees meer

De moeilijkheid zit volledig aan de andere kant. Een PDF heeft geen tabellen. Hij heeft reeksen tekens met elk een positie, en de lijnen die je ziet, zijn losstaande tekenbewerkingen — niets in het bestand legt vast dat er een cel bestaat, laat staan welke tekst erbij hoort. Het raster moet dus uit de geometrie worden afgeleid, en dat is wat elke tool die dit doet in werkelijkheid doet, ook die waarvoor je moet betalen.

De afleiding verloopt in twee stappen. Rijen komen van gedeelde basislijnen, en dat is de betrouwbare helft, omdat de pagina in de eerste plaats zo is gezet. Kolommen komen van horizontale breedtes die overlappen, en een band moet in meerdere rijen terugkomen voordat hij als kolom telt — herhaling onderscheidt een echte kolom van een alinea die toevallig inspringt. Alleen linkerranden werken niet, en dat is het vastleggen waard, omdat het de voor de hand liggende eerste uitvoering is en ze faalt bij de gewoonste tabel die er bestaat: een rechts uitgelijnde kolom met aantallen 6, 96 en 240 heeft drie verschillende linkerranden, telkens een cijfer verschoven, dus de kolom valt uiteen en elke rij krijgt een losse lege cel. Overlap kan links, rechts en gecentreerd uitlijnen aan zonder te hoeven weten welke het is.

Wat als getal in een cel terechtkomt, is bewust behoudend: gewone decimale getallen, eventueel met een teken, en verder niets. 007, 1,234, 2026-09-10, +44 20 en alles met een valutateken blijven precies zoals ze stonden, omdat een voorloopnul, een scheidingsteken voor duizendtallen en een datum elk informatie zijn die een omzetting zou vernietigen. Decimalen blijven behouden, dus 48.50 komt aan als 48.50 en niet als 48.5. De grenzen staan op de pagina en worden niet verborgen: samengevoegde cellen komen terecht in de eerste kolom die ze beslaan, een cel waarvan de tekst over twee regels loopt, wordt twee rijen, er komt één werkblad per pagina, en een pagina zonder terugkerende kolomstructuur komt terug als één kolom met regels — wat het eerlijke antwoord is voor proza.

Andere formaten naar Excel converteren

Excel — veelgestelde vragen

Is een XLSX echt een ZIP-bestand?

Ja, precies zoals een DOCX. Hernoem het naar .zip en open het: erin zitten XML-onderdelen voor de werkmap, voor elk werkblad, voor de stijlen en voor de relaties daartussen.

Kloppen de getallen echt als ik ze optel?

Ja, voor cellen met gewone decimale getallen — die worden als getal weggeschreven, dus SOM en de rest werken erop. Alles wat dubbelzinnig is, blijft bewust tekst, en tekst telt niet op.

Waarom kwam mijn referentienummer 007 binnen als tekst?

Omdat de voorloopnul informatie is. Hem als getal opslaan zou er 7 van maken en er zou geen manier zijn om hem terug te krijgen, dus waarden die er alleen numeriek uitzien, blijven precies zoals ze stonden.

Mijn tabel is haar kolomgrenzen kwijt. Waarom?

Kolommen worden herkend aan celbreedtes die overlappen en naar beneden toe terugkomen. Een tabel met maar een of twee rijen, of een met onregelmatig geplaatste cellen, geeft de afleiding niets om zich aan vast te houden en komt terug als regels tekst.

Werkt het op een gescande PDF?

Nee, en het weigert liever dan te gokken. Herkenning levert één regel tekst per detectievak op, wat genoeg is om proza op te bouwen maar niet om een raster op te bouwen — de vakken voegen aangrenzende cellen vaak genoeg samen dat het resultaat op een tabel zou lijken en fout zou zijn.

Kan ik hier Excel naar PDF converteren?

Niet lokaal. Een werkmap weergeven zoals Excel dat doet — pagina-einden, afdrukbereiken, kolombreedtes — vereist Excel of LibreOffice, en geen van beide draait in een browsertabblad. De conversies hier gaan naar XLSX en niet ervan uit.