V Microsoft Excelu se dají jednoduše importovat data ve formátu XML (Extensible Markup Language) vytvořená v jiných databázích nebo aplikacích, mapovat prvky ze schématu XML na buňky listu a exportovat upravená data XML pro interakci s jinými databázemi a aplikacemi. S těmito funkcemi jazyka XML je možné používat Office Excel jako generátor datových souborů XML se známým uživatelským rozhraním.
V tomto článku
Důvody pro použití jazyka XML v Excelu
Jazyk XML je technologie navržená pro správu a sdílení strukturovaných dat v textových souborech čitelných běžným způsobem. Jazyk XML dodržuje oborové standardy a může být zpracovaný řadou databází a aplikací. Pomocí jazyka XML můžou vývojáři aplikací vytvářet své vlastní značky, struktury dat a schémata. Stručně řečeno, jazyk XML významně zjednodušuje definice, přenosy, ověřování a interpretaci dat mezi databázemi, aplikacemi a organizacemi.
Datové soubory a soubory schématu XML
Excel primárně pracuje se dvěma typy souborů XML:
-
Datové soubory XML (.xml), které obsahují vlastní značky a strukturovaná data
-
Soubory schématu (.xsd), které obsahují značky schématu, které vynucuje pravidla, jako je datový typ a ověření.
Standard XML taky definuje soubory XSLT (Extensible Stylesheet Language Transformation) s příponou .xslt, které slouží k aplikaci stylů a převodu dat XML na jiné formáty prezentace. Tyto transformace můžete použít před importem souborů XML do Excelu a po exportu souborů XML z Excelu. Pokud jsou soubory XSLT propojené s datovými soubory XML importovanými do Excelu, budete moct zvolit, jestli chcete před přidáním dat do listu použít formátování, ale jen v případě, že soubor XML otevřete pomocí příkazu Otevřít z Excelu. Soubory XML před kliknutím na tlačítko Otevřít ve složce zobrazíte výběrem typu souboru Soubory XML (*.xml).
Hlavní příklady použití jazyka XML v Excelu
Při použití jazyka XML a Excelu můžete spravovat sešity a data způsoby, které byly dřív nemožné nebo velmi obtížné. Pomocí mapování XML můžete v excelových dokumentech snadno přidat, identifikovat a extrahovat konkrétní obchodní informace. Například faktura obsahující jméno a adresu zákazníka nebo sestava obsahující finanční výsledky za poslední čtvrtletí už nebudou jen statickými sestavami. Tyto informace můžete snadno importovat z databází a aplikací, upravit je a exportovat je do původních či jiných databází a aplikací.
Níže jsou uvedené hlavní příklady situací, které funkce pro jazyk XML pomáhají řešit:
-
Rozšíření funkcí existujících šablon Excelu mapováním elementů XML na existující buňky. Tím se zjednoduší import dat XML do šablon a jejich export ze šablon, aniž by bylo nutné měnit návrh šablon.
-
Použití dat XML jako vstupů pro stávající modely výpočtů namapováním elementů XML na existující listy
-
Import datových souborů XML do nového sešitu
-
Import dat XML z webové služby do listu Excelu
-
Export dat v mapovaných buňkách do datových souborů XML nezávisle na jiných datech v sešitu
Základní proces použití dat XML v Excelu
Následující diagram zobrazuje, jak spolupracují různé soubory a operace při použití jazyka XML s Excelem. V podstatě se jedná o pět fází:
přidání souboru schématu XML (.xsd) do sešitu
mapování elementů schématu XML na jednotlivé buňky nebo tabulky XML
importu datového souboru XML (.xml) a vytvoření vazby prvků XML s mapovanými buňkami
Zadávání dat, přesouvání mapovaných buněk a využití Excel funkcí při zachování struktury a definic XML
Export upravených dat z mapovaných buněk do datového souboru XML
Práce s mapováním XML
Sešit můžete vytvořit nebo otevřít v aplikaci Excel, připojit k sešitu soubor schématu XML (.xsd) a potom pomocí zdroje XML podokno úloh namapovat prvky schématu XML na jednotlivé buňky nebo tabulky. Po namapování elementů XML k listu můžete v mapovaných buňkách importovat a exportovat data XML.
Přidáním souboru schématu XML (.xsd) do sešitu vytvoříte mapování XML. Mapování XML obvykle slouží k vytvoření mapovaných buněk a ke správě vztahů mezi mapovanými buňkami a jednotlivými prvky ve schématu XML. Kromě toho tato mapování XML slouží k navázání obsahu mapovaných buněk k prvkům schématu při importu nebo exportu datových souborů XML (.xml).
Můžete vytvořit dva druhy mapovaných buněk: buňky s jednoduchým mapováním a opakované buňky (zobrazí se jako tabulky XML). Vytváření listu je velmi pružné: mapované buňky můžete přetáhnout na libovolné místo na listu a v libovolném pořadí – a to i v odlišném pořadí, než je ve schématu XML. Můžete také zvolit, které prvky chcete mapovat a které ne.
Důležitá pravidla týkající se používání mapování XML:
-
Sešit může obsahovat více mapování XML.
-
Do jednoho umístění v sešitu můžete namapovat pouze jeden prvek.
-
Každé mapování XML představuje nezávislou entitu, a to i tehdy, pokud v jednom sešitu existuje několik mapování XML odkazujících na stejné schéma.
-
Mapování XML může obsahovat pouze jeden kořenový prvek. Když přidáte schéma definující více kořenových prvků, zobrazí se výzva, abyste vybrali kořenový prvek, který se má použít pro nové mapování XML.
Použití podokna úloh Zdroj XML
Ke správě mapování XML použijte podokno úloh Zdroj XML. Pokud chcete toto okno otevřít, klikněte na kartě Vývojář ve skupině XML na Zdroj. Následující diagram zobrazuje hlavní funkce tohoto podokna úloh.
1. Zobrazí seznam mapování XML přidaných do sešitu.
2. Zobrazí hierarchický seznam elementů XML v aktuálně vybraném mapování XML.
3. Nastaví možnosti při práci s podoknem úloh Zdroj XML a daty XML, například způsob náhledu dat a záhlaví ovládacích prvků.
4. Otevře dialogové okno Mapování XML, pomocí kterého můžete přidat, odstranit nebo přejmenovat mapování XML.
5. Ověří, zda je možné pomocí aktuálního mapování exportovat data XML.
Typy elementů a jejich ikony
V následující tabulce naleznete všechny typy elementů XML, s nimiž Excel dokáže pracovat, a ikony představující jednotlivé typy prvků.
Typ elementu |
Ikona |
---|---|
Nadřazený prvek |
|
Povinný nadřazený prvek |
|
Opakující se nadřazený prvek |
|
Povinný opakující se nadřazený prvek |
|
Podřízený prvek |
|
Povinný podřízený prvek |
|
Opakující se podřízený prvek |
|
Povinný opakující se podřízený prvek |
|
Atribut |
|
Povinný atribut |
|
Jednoduchý obsah ve složité struktuře |
|
Povinný jednoduchý obsah ve složité struktuře |
|
Práce s buňkami s jednoduchým mapováním
Buňka s jednoduchým mapováním je buňka mapovaná na neopakující se element XML. Buňku s jednoduchým mapováním vytvoříte přetažením neopakujícího se elementu XML z podokna úloh Zdroj XML do samostatné buňky na listu.
Při přetažení neopakujícího se elementu XML na list můžete použít inteligentní značku a zvolit, jestli chcete použít název elementu XML jako záhlaví umístěné nad buňkou s jednoduchým mapováním nebo vlevo od ní. Jako záhlaví můžete použít také existující hodnotu buňky.
V buňce s jednoduchým mapováním můžete taky použít vzorec, pokud je tato buňka mapovaná na element XML s datovým typem XSD (XML Schema Definition), který Excel interpretuje jako číslo, datum nebo čas.
Práce s opakovanými buňkami v tabulkách XML
Tabulky XML jsou vzhledem a funkcemi podobné tabulkám v Excelu. Tabulka XML je excelová tabulka, která byla namapovaná na jeden nebo více opakujících se elementů XML. Každý sloupec v tabulce XML představuje element XML.
Tabulka XML je vytvořená, pokud použijete:
-
Příkaz Import (ve skupině XML na kartě Vývojář) pro import datového souboru XML
-
Pomocí příkazu Otevřít v Excel otevřete datový soubor XML – a pak v dialogovém okně Otevřít XML vyberte Jako tabulkuXML.
-
Příkaz Z importu dat XML (v nabídce tlačítka Z jiných zdrojů ve skupině Načíst externí data na kartě Data) k importu datového souboru XML – a pak v dialogu Import dat zaškrtnete políčko Tabulka XML v existujícím listu nebo Nový list
-
Přetažení jednoho nebo více opakujících se elementů z podokna úloh Zdroj XML do listu
Když vytvoříte tabulku XML, použijí se názvy elementů XML automaticky jako záhlaví sloupců. Tato záhlaví sloupců můžete podle potřeby libovolně změnit. Původní názvy elementů XML se ale vždycky použijí při exportu dat z mapovaných buněk.
Při práci s tabulkami XML jsou užitečné dvě možnosti v nabídce tlačítka Možnosti v podokně úloh Zdroj XML:
-
<c0>Automaticky sloučit prvky při mapování</c0>: Pokud je vybraná tato možnost, Excel automaticky vytvoří jednu tabulku XML z více polí přetažených do listu. Tato možnost je funkční tak dlouho, dokud jsou pole přetahovaná do jednoho řádku, jedno vedle druhého. Pokud výběr této možnosti zrušíte, zobrazí se jednotlivé prvky ve vlastní tabulce XML.
-
<c0>Moje data obsahují nadpisy</c0>: Pokud je vybraná tato možnost, použijí se stávající data záhlaví jako záhlaví sloupců pro opakující se elementy, které jste namapovali k listu. Pokud výběr této možnosti zrušíte, použijí se jako záhlaví sloupců názvy elementů XML.
Pomocí tabulek XML můžete snadno importovat, exportovat, třídit, filtrovat a tisknout data založená na zdroji dat XML. Tabulky XML však mají jistá omezení týkající se jejich uspořádání v listu.
-
Tabulky XML jsou založené na řádcích, což znamená, že se rozšiřují od řádku záhlaví směrem dolů. Nové záznamy nejde přidávat nad existující řádky.
-
Tabulku XML nejde transponovat za účelem přidání nových položek doprava.
Vzorce můžete použít ve sloupcích mapovaných na elementy XML pomocí datového typu v definici schématu XML (XSD), který Excel interpretuje jako číslo, datum nebo čas. Pokud se do tabulky XML přidají řádky, doplňují se vzorce v tabulkách XML ve sloupci směrem dolů stejným způsobem, jak je tomu v excelových tabulkách.
Důležité údaje související se zabezpečením mapování XML
Mapování XML a informace týkající se zdroje dat se ukládají do excelového sešitu, ne do konkrétního listu. Kyberzločinec může zobrazit tyto potenciálně citlivé informace o mapování pomocí makra jazyka VBA (Visual Basic for Applications). Pokud navíc sešit uložíte ve formátu souborů Office Open XML s podporou maker Excelu, dají se tyto informace zobrazit pomocí programu Poznámkový blok nebo jiného textového editoru.
Pokud chcete používat informace o mapování, ale přitom chcete odebrat potenciálně citlivé informace o zdrojích dat, můžete odstranit definice zdrojů dat schématu XML ze sešitu. Pořád ale budete moci exportovat data XML, pokud zrušíte zaškrtnutí políčka Uložit definici zdroje dat v sešitu v dialogu Vlastnosti mapování XML, které je možné zobrazit pomocí příkazu Vlastnosti mapování ve skupině XML na kartě Vývojář.
Jestliže odstraníte list před odstraněním mapování XML, budou informace o mapování, o zdrojích dat a případné další citlivé informace stále uložené v sešitě. Pokud chcete sešit aktualizovat odebráním citlivých informací, přesvědčte se, zda jste před odstraněním listu odstranili mapování XML, aby byly informace o mapování trvale odebrané ze sešitu.
Import dat XML
Data XML můžete importovat do existujícího mapování v sešitu. Při importu jsou data ze souboru svázaná s mapováním XML, které je uložené v sešitu. To znamená, že každý datový prvek v datovém souboru XML má odpovídající prvek ve schématu XML, který jste namapovali ze souboru schématu XML nebo odvozeného schématu. Každé mapování XML může mít jenom jednu vazbu s daty XML, přičemž vazba dat XML je svázaná s každým mapováním, které bylo vytvořené z jednoho mapování XML.
Kliknutím na Vlastnosti mapování ve skupině XML na kartě Vývojář můžete zobrazit dialogové okno Vlastnosti mapování XML, které obsahuje tři výchozí možnosti, jejichž nastavením nebo zrušením nastavení můžete řídit chování vazby dat XML:
-
Ověřovat data vůči schématu pro import a export: Určuje, jestli Excel při importu dat ověřuje data pro mapování XML. Tuto možnost vyberte, pokud chcete mít jistotu, že importovaná data XML odpovídají schématu XML.
-
Přepsat existující data novými: Určuje, zda se data při importu přepíší. Tuto možnost vyberte, pokud chcete aktuální data nahradit novými daty, například v případě, že nový datový soubor XML obsahuje nejnovější data.
-
Připojit nová data k existujícím tabulkám XML: Určuje, jestli se obsah zdroje dat připojí ke stávajícím datům na listu. Tuto možnost vyberte například tehdy, pokud slučujete data z několika datových souborů XML do tabulky XML nebo pokud nechcete přepsat obsah buňky obsahující funkci.
Při importu dat XML můžete chtít přepsat některé mapované buňky, ale žádné jiné. Některé mapované buňky mohou například obsahovat vzorce, které při importu souboru XML nechcete přepsat. Toho můžete dosáhnout dvěma způsoby:
-
Před importem dat XML zrušte mapování prvků, které nechcete přepsat. Po importu dat XML můžete prvky XML znovu namapovat k buňkám obsahujícím vzorce, takže můžete exportovat výsledky vzorců do datového souboru XML.
-
Vytvořte dvě mapování XML ze stejného schématu XML. K importu dat XML použijte jedno mapování XML. V tomto mapování XML "Importovat" nemapujte prvky na buňky obsahující vzorce nebo jiná data, která nechcete přepsat. K exportu dat použijte jiné mapování XML. V tomto mapování XML exportu namapujte prvky, které chcete exportovat do souboru XML.
Poznámka: Schopnost importu dat XML z webové služby pomocí souboru pro připojení služby načítání dat (.uxdc), který umožňuje připojení ke zdroji dat, už není ve verzích novějších než Excel 2003 podporovaná prostřednictvím uživatelského rozhraní. Pokud otevřete sešit, který byl vytvořený v Excelu 2003, můžete i nadále zobrazit data, nemůžete ale už upravovat nebo aktualizovat zdroj dat.
Práce s odvozeným schématem
Pokud importujete data XML bez přidání odpovídajícího schématu XML k vytvoření mapování XML, Excel se pokusí odvodit schéma na základě značek definovaných v datovém souboru XML. Odvozené schéma je uložené se sešitem a odvozené schéma umožňuje pracovat s daty XML, pokud soubor schématu XML není přidružený k sešitu.
Pokud pracujete s importovanými daty XML, které používají odvozené schéma, můžete také přizpůsobit panel úloh Zdroj XML. Výběrem možnosti Náhled dat v podokně úloh na tlačítku Možnosti zobrazíte první řádek dat jako ukázková data v seznamu prvků, pokud jste importoval data XML přidružená k mapování XML v aktuální relaci Excel.
Odvozené schéma Excelu nemůžete exportovat jako samostatný datový soubor schématu XML (.xsd). I když existují editory schématu XML i další možnosti pro vytváření souboru schématu XML, možná k nim nemáte jednoduchý přístup nebo znalosti k jejich používání. Místo toho můžete použít doplněk Excel 2003 XML Tools verze 1.1, který umí vytvořit soubor schématu z mapování XML. Další informace najdete v tématu Použití doplňku Excel 2003 XML Tools verze 1.1.
Export dat XML
K exportu dat XML dochází při exportu obsahu mapovaných buněk na listu. Při exportu dat Excel pomocí následujících pravidel určí, která data se mají uložit, a způsob jejich uložení:
-
Prázdné položky se nevytváří, pokud existují prázdné buňky pro volitelný prvek, ale vytvoří se, pokud prázdné buňky existují pro povinný prvek.
-
K zápisu dat se použije kódování UTF-8 (Unicode Transformation Format-8).
-
Všechny obory názvů jsou definované v kořenovém prvku XML.
-
Excel přepíše existující předpony oborů názvů. Výchozímu oboru názvů se přiřadí předpona ns0. Následné obory názvů jsou určené ns1, ns2 až ns<count> where<count>is the number of namespaces written to the XML file.
-
Uzly komentářů se nezachovají.
Můžete zobrazit dialogové okno Vlastnosti mapování XML (na kartě Vývojář klikněte na Vlastnosti mapování ve skupině XML.) a potom pomocí možnosti Ověřit data proti schématu pro import a export (ve výchozím nastavení aktivní) určete, jestli Excel data při exportu dat ověřuje mapování XML. Na tuto možnost klikněte, pokud chcete zajistit, aby data XML, která exportujete, odpovídala schématu XML.
Použití formátu souborů Office Open XML s podporou maker Excelu
Sešit můžete uložit Excel v různých formátech souborů, včetně Excel s podporou maker Office Open XML Format File (.xlsm). Excel má definované schéma XML, které definuje obsah sešitu Excel, včetně značek XML, které ukládají všechny informace o sešitu, jako jsou data a vlastnosti, a definují celkovou strukturu sešitu. Vlastní aplikace používejte tuto Excel s podporou maker Office XML Format File. Vývojáři mohou například chtít vytvořit vlastní aplikaci pro vyhledávání dat ve více sešitech, které jsou uložené v tomto formátu, a vytvořit systém vytváření sestav založený na nalezených datech.
Potřebujete další pomoc?
Kdykoliv se můžete zeptat některého odborníka v technické komunitě Excelu nebo získat podporu v komunitě pro odpovědi.