Převod XML do Excelu: postup krok za krokem

XML soubor se dá převést do tabulky v Excelu několika způsoby. Návod popisuje nejspolehlivější postup přes Power Query, rychlé otevření souboru, XML mapování i převod na CSV, který funguje všude.

Autor: Aktualizováno

Než začneš: které XML jde do tabulky

Tabulka má řádky a sloupce, XML je strom, který může být libovolně hluboký. Do Excelu se proto dobře převádí XML, které je seznamem stejných záznamů — produktů, položek faktury, transakcí:

produkty.xml
<produkty>
  <produkt kod="A1">
    <nazev>Hrnek</nazev>
    <cena>199</cena>
    <skladem>12</skladem>
  </produkt>
  <produkt kod="A2">
    <nazev>Talíř</nazev>
    <cena>249</cena>
    <skladem>0</skladem>
  </produkt>
</produkty>

Z takového souboru vznikne přehledná tabulka, kde každý produkt je jeden řádek:

kodnazevcenaskladem
A1Hrnek19912
A2Talíř2490

Pokud je XML hlubší (třeba faktura s hlavičkou, dodavatelem a položkami), Excel ho rozloží do více tabulek nebo zopakuje hodnoty z hlavičky na každém řádku. Pak je lepší načíst jen tu část, kterou potřebuješ — v Power Query to jde snadno.

Postup 1: Power Query (doporučeno)

V Excelu pro Windows (Microsoft 365 a verze 2016 a novější):

  1. Otevři nový sešit a přejdi na kartu Data.
  2. Klikni na Načíst data → Ze souboru → Z XML (v anglické verzi Get Data → From File → From XML) a vyber soubor.
  3. V okně Navigátor vlevo vyber část dokumentu, kterou chceš načíst (v ukázce produkt). Vpravo uvidíš náhled tabulky.
  4. Klikni na Načíst. Pokud potřebuješ data upravit (smazat sloupce, rozbalit vnořené elementy, změnit typy), zvol místo toho Transformovat data.

Vnořené elementy Power Query zobrazí jako sloupec s odkazem Table. Ikona se dvěma šipkami v záhlaví sloupce ho rozbalí na samostatné sloupce. Když se zdrojový soubor změní, stačí na kartě Data kliknout na Aktualizovat vše.

Postup 2: otevřít XML přímo

Přes Soubor → Otevřít lze XML otevřít i napřímo. Excel se zeptá, jak ho zobrazit; nejčastěji se hodí volba Jako tabulku XML. Pokud soubor nemá připojené schéma, Excel ho odvodí sám a upozorní na to. Tento způsob je rychlý, ale u složitějších souborů dává méně přehledný výsledek než Power Query.

Postup 3: XML mapování

Pro opakovaný import do připravené šablony (například měsíční export do stále stejného reportu) slouží XML mapování:

  1. Zapni kartu Vývojář (Soubor → Možnosti → Přizpůsobit pás karet → zaškrtnout Vývojář).
  2. Na kartě Vývojář klikni na Zdroj; otevře se podokno Zdroj XML.
  3. Tlačítkem Mapy XML… přidej schéma (XSD) nebo vzorový XML soubor.
  4. Přetáhni elementy ze stromu v podokně do buněk šablony.
  5. Data načteš tlačítkem Importovat na kartě Vývojář.

Schéma pro mapování si můžeš z ukázkového souboru nechat vygenerovat v záložce Schéma našeho XML nástroje. Víc o schématech v kapitole XML Schema (XSD).

Postup 4: převést XML na CSV

Pokud nemáš Excel pro Windows, nebo se ti import nedaří, převeď XML nejdřív na CSV. CSV otevře Excel na jakékoli platformě, LibreOffice Calc i Google Tabulky.

  1. Otevři XML nástroje a vlož obsah souboru.
  2. Na záložce Převody zvol výstup CSV a výsledek stáhni.
  3. V Excelu použij Data → Z textu/CSV a jako kódování zvol UTF-8. Při otevření dvojklikem se může rozbít diakritika.

Soukromí: převod běží přímo v prohlížeči, soubor se nikam neodesílá. Hodí se to u faktur a exportů s osobními údaji.

LibreOffice Calc

LibreOffice Calc otevře XML ze stejného menu jako jiné soubory a nabídne import. Pro výběr, které elementy se mají načíst, slouží nabídka Data → Zdroj XML. Alternativou je opět převod na CSV.

Který postup zvolit

ZpůsobPro kohoVýhoda
Power Query (Načíst data)Excel pro Windows (Microsoft 365, 2016 a novější)import jde kdykoli aktualizovat, data lze před načtením upravit
Otevřít soubor přímorychlý jednorázový pohlednejméně kroků
XML mapování (karta Vývojář)opakovaný import do pevné šablonypřesně určíš, kam která hodnota patří
Převod na CSVkdokoli, i bez Excelu (LibreOffice, Google Tabulky)funguje všude

Když Excel hlásí, že soubor nejde načíst, bývá příčinou chyba zápisu XML. Zkontroluj ho ve validátoru, který ukáže přesný řádek chyby. Co jednotlivé chybové hlášky znamenají, vysvětluje kapitola Jak funguje XML.

Máš místo XML soubor JSON? Postup přes Power Query i převod na CSV je v oddílu JSON do Excelu.