Pokud chcete naimportovat a vyexportovat XML data v Excelu, bude se vám hodit mapování XML, které za účelem získání požadovaných výsledků přidruží elementy XML k datům v buňkách. Pokud ho budete chtít vytvořit, musíte mít soubor schématu XML (.xsd) a datový soubor XML (.xml). Po vytvoření mapování XML můžete namapovat XML elementy požadovaným způsobem.
Tip: Další informace o použití jazyka XML v Excelu najdete v tomto přehledu jazyka XML v Excelu.
Vyhledání nebo vytvoření XML schématu a datových souborů XML
Pokud XML schéma nebo datový soubor XML vytvořila jiná databáze nebo aplikace, můžete už je mít k dispozici. Může mít například podnikovou aplikaci, která exportuje data do těchto formátů souborů XML, komerční web nebo webovou službu, které tyto soubory XML poskytují, nebo vlastní aplikaci vyvinutou vaším IT oddělení, která tyto XML soubory automaticky vytvoří.
Pokud nemáte potřebné XML soubory, vytvoříte je tak, že uložíte data, která chcete použít, do textového souboru. Access i Excel potom můžou tento textový soubor převést na XML soubory, které potřebujete. Uděláte to takto:
Access
-
Naimportujte textový soubor, který chcete převést, a propojte ho s novou tabulkou.
-
Klikněte na Soubor > Otevřít.
-
V dialogovém okně Otevřít vyberte a otevřete databázi, ve které chcete vytvořit novou tabulku.
-
Klikněte na Externí data > Textový soubor a postupujte podle pokynů pro každý krok, přičemž nezapomeňte propojit tabulku na textový soubor.
Access vytvoří novou tabulku a zobrazí ji v navigačním podokně.
-
-
Vyexportujte data z propojené tabulky do datového souboru XML a do souboru schématu XML.
-
Klikněte na Externí data > Soubor XML (ve skupině Export).
-
V dialogovém okně Export – Soubor XML zadejte název a formát souboru a klikněte na OK.
-
-
Ukončete Access.
Excel
-
Vytvořte mapování XML založené na souboru schématu XML, který jste vyexportovali z Accessu.
Pokud se zobrazí dialogové okno Více kořenů, zvolte element dataroot, abyste mohli vytvořit XML tabulku.
-
Vytvořte XML tabulku namapováním elementu dataroot. Další informace najdete v tématu Mapování XML elementů.
-
Naimportujte XML soubor, který jste vyexportovali z Accessu.
Poznámky:
-
Existuje několik typů konstruktů elementů schémat XML, které Excel nepodporuje. Následující seznam obsahuje konstrukty elementů schémat XML, které nejdou do Excelu importovat:
-
<jakékoli> Tento element umožňuje zahrnout elementy, které nejsou schématem deklarované.
-
<anyAttribute> Tento element umožňuje zahrnout atributy, které nejsou schématem deklarované.
-
Rekurzivní struktury: Běžným příkladem rekurzivní struktury je hierarchie zaměstnanců a manažerů, ve které jsou stejné XML elementy vnořené do několika úrovní. Excel nepodporuje rekurzivní struktury do hloubky více než jedna úroveň.
-
Abstraktní elementy: Tyto elementy se mají deklarovat ve schématu, ale nejsou nikdy použité jako elementy. Abstraktní elementy závisí na jiných elementech, které je nahrazují.
-
Skupiny pro nahrazení: Tyto skupiny umožňují záměnu elementu všude, kde je odkaz na jiný element. Element indikuje, že je členem skupiny pro nahrazení jiného elementu, prostřednictvím atributu <substitutionGroup>.
-
Smíšený obsah: Tento obsah se deklaruje pomocí výrazu mixed="true" u definice komplexního typu. Excel nepodporuje jednoduchý obsah komplexního typu, ale podporuje podřízené značky a atributy definované v tomto komplexním typu.
Použití ukázkového XML schématu a datových souborů XML
Pokud nemáte XML soubory nebo textové soubory pro vytvoření XML souborů, následující ukázková data obsahují základní XML elementy a struktury, které můžete použít k testování mapování XML. Tady je postup pro uložení těchto ukázkových dat do souborů v počítači:
-
Vyberte ukázkový text souboru, který chcete zkopírovat, a stiskněte kombinaci kláves Ctrl+C.
-
Otevřete Poznámkový blok a stisknutím kombinace kláves Ctrl+V ukázkový text vložte.
-
Stisknutím kombinace kláves Ctrl+S uložte pod libovolným názvem a příponou soubor ukázkových dat, která jste zkopírovali.
-
Stiskněte v Poznámkovém bloku kombinaci kláves Ctrl+N a opakováním kroku 1 až 3 vytvořte soubor pro druhý ukázkový text.
-
Ukončete Poznámkový blok.
Vzorová XML data (Expenses.xml)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
Vzorové XML schéma (Expenses.xsd)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Vytvoření mapování XML
Mapování XML se vytvoří přidáním XML schématu do sešitu. Schéma jde zkopírovat ze souboru XML schématu (.xsd) nebo ho Excel může zkusit odvodit z datového XML souboru (.xml).
-
Klikněte na Vývojář > Zdroj.
Pokud se vám karta Vývojář nezobrazuje, přečtěte si téma Zobrazení karty Vývojář.
-
V podokně úloh Zdroj XML klikněte na Mapování XML a potom klikněte na Přidat.
-
V seznamu Oblast hledání klikněte na disk, složku nebo umístění na Internetu obsahující soubor, který chcete otevřít.
-
Klikněte na soubor a potom na Otevřít.
-
Když otevřete soubor schématu XML, XML vytvoří XML mapování založené na schématu XML. Pokud se zobrazí dialogové okno Více kořenů, zvolte jeden z kořenových uzlů definovaných v souboru schématu XML.
-
Když otevřete datový soubor XML, Excel se pokusí odvodit schéma XML z dat XML a potom vytvoří mapování XML.
-
-
Klikněte na OK.
Mapování XML se zobrazí v podokně úloh Zdroj XML.
Mapování XML elementů
XML element se mapuje k buňkám s jednoduchým mapováním a k opakujícím se buňkám v XML tabulkách, abyste mohli vytvořit vztah mezi buňkou a elementem XML dat ve schématu XML.
-
Klikněte na Vývojář > Zdroj.
Pokud se vám karta Vývojář nezobrazuje, přečtěte si téma Zobrazení karty Vývojář.
-
V podokně úloh Zdroj dat XML vyberte elementy, které chcete namapovat.
Pokud chcete vybrat nesousedící elementy, klikněte na jeden element, podržte stisknutou klávesu Ctrl a pak postupně klikněte na jednotlivé elementy, které chcete namapovat.
-
Postup mapování elementů:
-
Klikněte pravým tlačítkem na vybrané elementy a potom klikněte na Mapovat element.
-
V dialogovém okně Mapovat elementy XML vyberte nějakou buňku a klikněte na OK.
Tip: Vybrané elementy taky můžete přetáhnout do místa na listu, kde je chcete zobrazit.
Jednotlivé elementy se v podokně úloh Zdroj XML zobrazí tučně, což znamená, že je element namapovaný.
-
-
Určete, jak chcete zpracovávat popisky a záhlaví sloupců:
-
Při přetažení neopakujícího se elementu XML na list s cílem vytvořit buňku s jednoduchým mapováním se zobrazí inteligentní značka se třemi příkazy, pomocí kterých můžete určit umístění záhlaví nebo popisku:
Data už mají záhlaví: Kliknutím na tuto možnost ignorujete záhlaví XML elementu, protože buňka už záhlaví má (vlevo od dat nebo nad daty).
Umístit záhlaví XML vlevo: Kliknutím na tuto možnost použijete záhlaví XML elementu jako popisek buňky (vlevo od dat).
Umístit záhlaví XML nahoru: Kliknutím na tuto možnost použijete záhlaví XML elementu jako záhlaví buňky (nad daty).
-
Když přetáhnete opakující se XML element do listu s cílem vytvořit v XML tabulce opakující se buňky, názvy XML elementů se automaticky použijou jako záhlaví sloupců pro tabulku. Záhlaví sloupců ale můžete úpravou buňky záhlaví změnit na jakoukoli požadovanou hodnotu.
V podokně úloh Zdroj XML můžete kliknout na Možnosti, čímž získáte další volby pro nastavení chování XML tabulky:
Automaticky sloučit prvky při mapování: Když je zaškrtnuté toto políčko, XML tabulky se při přetažení elementu do buňky vedle XML tabulky automaticky rozbalí.
Moje data obsahují nadpisy: Když je zaškrtnuté toto políčko, jde existující data použít jako záhlaví sloupců, když do listu mapujete opakující se elementy.
Poznámky:
-
Pokud jsou všechny příkazy XML šedě a nemůžete mapovat elementy XML na žádné buňky, může se sešit sdílet. Kliknutím na Zkontrolovat > Sdílet sešit ověřte a podle potřeby ho odeberte ze sdíleného použití.
Pokud chcete mapovat XML elementy v sešitě, který chcete sdílet, namapujte XML elementy na požadované buňky, naimportujte data XML, odeberte všechna mapování XML a potom sešit nasdílejte.
-
Pokud není možné zkopírovat tabulku XML, která obsahuje data, do jiného sešitu, tabulka XML může mít přidružené mapování XML, které definuje strukturu dat. Toto mapování XML je uloženo v sešitě, ale při kopírování tabulky XML do nového sešitu se mapování XML automaticky nezahrne. Místo zkopírování XML tabulky vytvoří Excel tabulku, která obsahuje stejná data. Pokud chcete vytvořit novou tabulku v podobě XML tabulky, udělejte toto:
-
Přidejte do nového sešitu mapování XML pomocí souboru .xml nebo .xsd, který jste použili k vytvoření původního mapování XML. Pokud chcete mapování XML přidat do ostatních sešitů, měli byste tyto soubory uložit.
-
Namapujte XML elementy do tabulky, abyste vytvořili XML tabulku.
-
-
Když mapujete opakující se element XML do sloučené buňky, Excel v této buňce zruší sloučení. Jde o očekávané chování, protože opakující se elementy jsou navržené tak, aby fungovaly pouze s nesloučenými buňkami.
Můžete sice do sloučené buňky mapovat samostatné, neopakující se elementy, nemůžete ale do ní namapovat opakující se XML element (element, který obsahuje opakující se element). Zruší se sloučení buněk a element se namapuje na buňku, kde je umístěný ukazatel.
-
-
Tipy:
-
Můžete zrušit mapování elementů XML, které nechcete použít, nebo zabránit přepsání obsahu buněk při importu dat XML. Například byste mohli dočasně zrušit mapování XML elementu z jedné buňky nebo opakujících se buněk obsahujících vzorce, které nechcete přepsat při importu XML souboru. Po dokončení importu můžete znovu namapovat element XML na buňky se vzorcem, abyste mohli výsledky vzorců exportovat do datového souboru XML.
-
Pokud chcete mapování XML elementů zrušit, klikněte na jejich název pravým tlačítkem myši v podokně Zdroj XML a klikněte na Odebrat prvek.
Zobrazení karty Vývojář
Pokud se vám karta Vývojář nezobrazuje, udělejte tohle:
-
V Excelu 2010 a novějších verzích:
-
Klikněte na Soubor > Možnosti.
-
Klikněte na kategorii Přizpůsobit pás karet.
-
V části Hlavní karty zaškrtněte políčko Vývojář a klikněte na OK.
-
-
V Excelu 2007:
-
Klikněte na tlačítko Microsoft Office > Možnosti aplikace Excel.
-
Klikněte na kategorii Oblíbené.
-
V části Nejpoužívanější možnosti při práci s aplikací Excel zaškrtněte políčko Zobrazit na pásu kartu Vývojář a klikněte na OK.
-
Viz také
Odstranění informací mapování XML ze sešitu