XML en Excel
XML in Excel
Wat meer (Office) praktijk nu. Met Excel 2003/2007 is het binnenhalen van XML gegevens erg gemakkelijk. Helaas zijn (bij Excel 2003) de XML faciliteiten alleen beschikbaar in de Excel uitvoering binnen Microsoft Office Professional of als stand-alone toepassing. Wanneer vanuit Excel 2003 Bestand, Openen--> wordt gekozen, dan is te zien dat standaard de XML bestanden ook in de lijst met te openen bestanden zichtbaar zijn.

Figuur 2: Het Bestand Openen venster van Excel 2003.
Indien het bestand test.xml gekozen wordt, dan verschijnt een keuzemenu (zie figuur 3).

Figuur 3: Excel vraagt wat er met het XML bestand moet worden gedaan
Als wordt gekozen voor de derde optie, dan zal Excel het XML bestand analyseren en de gevonden structuur presenteren in een Taakvenster (figuur 4). Het bestand zelf wordt dan niet geopend.

Figuur 4, de structuur in het taakvenster XML-Bron
De elementen uit het XML bestand kunnen nu aan cellen in Excel worden gekoppeld, eenvoudigweg door ze te verslepen van het taakvenster naar een cel in Excel. Zie figuur 5 en 6.

Figuur 5: Verslepen van element naar een Excel cel

Figuur 6 Resultaat na verslepen van een element
Door een element te verslepen dat meer dan 1 sub-elementen kan bevatten (bijvoorbeeld het element "Medewerker"), worden automatisch de sub elementen meegenomen en als lijst in Excel geplaatst (zie figuur 7).

Figuur 7: Lijst gemaakt door het verslepen van het element "Medewerker".
Hiermee is een Excel sjabloon gemaakt dat gegevens uit XML bestanden kan importeren met dezelfde structuur als het bestand test.xml. Omdat deze exercitie is begonnen door het bestand test.xml te openen, kan dit worden gedaan door op het knopje "XML-gegevens Vernieuwen" te klikken (zie figuur 8). De gegevens uit het bestand Test.xml worden in het zojuist opgebouwde sjabloon ingelezen. Figuur 9 toont het resultaat in Excel.

Figuur 8: knop "XML-gegevens Vernieuwen" op de werkbalk "Lijst"

Figuur 9: resultaat van gegevens importeren.
Om een ander bestand in dezelfde structuur in te lezen kan de optie XML-Gegevens Importeren" worden gebruikt, welke zich op dezelfde werkbalk bevindt. De aanwezige gegevens worden dan vervangen door de gegevens uit het nieuwe bestand.






Vragen, suggesties en opmerkingen
Laatste 8 commentaren van in totaal 19 (Toon ze allemaal):Comment by: mariska (1/30/2010 3:33:54 AM)ik wil excel gaan leren, heb een boek gekocht met oefeningen. moet de oefeningen downloaden, maar krijg ze niet geopend, alleen vreemde tekens , beginnend met < en eindigend met > snap er niets meer van, wat DOE ik fout, of wat IS er fout? iemand die me kan helpen?? heb windows 7 en heb microsoft office 2007 prof
Comment by: Jan Karel Pieterse (1/30/2010 8:00:11 AM)Hallo Mariska,
Dit gebeurt soms als je Excel 2007 bestanden download van internet en direct probeert te openen.
Kies de optie opslaan bij het downloaden en probeer de opgeslagen bestanden te openen met Excel.
Comment by: mariska (1/30/2010 8:08:36 AM)dank u wel voor het snelle antwoord. het is nu idd gelukt. hooop dat ik u niet meer nodig heb, maar anders weet ik jullie te vinden,
dank je wel
Comment by: Jan Karel Pieterse (1/30/2010 11:14:16 AM)Hallo Mariska,
Je kan dit soort vragen heel goed kwijt op het Nederlandse Office forum:
http://office.webforums.nl/forum/index.php
Comment by: DEVOS RUDY (8/3/2010 12:34:05 PM)ik ben op zoek naar een manier om data in Excel om te zetten in xml-format. Ik ben een leek op dat vlak - kan iemand helpen.
Comment by: Pim (8/11/2010 5:14:21 AM)Ik heb een XML file inglezen in excel en alle gegevens zitten erin, maar niet zoals ik wil. De structuur wordt tijdens het inlezen automatisch overgenomen uit het xml bestand.
Van sommige items worden namelijk meerdere regels aangemaakt, omdat verschillende variabelen van die betreffende items per kolom voorkomen. Als hij dus 2 of meer waarden van de betreffende kolomkop heeft maakt hij voor elk item en nieuwe regel en begint vervolgens ook nog eens op een nieuwe regel voor de volgende variabele van de volgende kolom.
Klein simpel voorbeeld:Stel: een regel uit jullie voorbeeld laat voor Jan Janssen 2 verschillende huisnummers zien.
Dan worden er 3 regels aangemaakt.
1: de regel met het 1e huisnummer
2: de regel met het 2e huisnummer
3. een nieuwe regel zonder de huisnummers maar met de varibalen van een volgende kolom.
MEt andere woorden: ik krijg nooit 1 regel te zien waarin alle kolommen gevuld zijn.
Hoe krijg ik dat toch voor elkaar?
Comment by: Jan Karel Pieterse (8/16/2010 3:27:57 AM)Hallo Rudy,
Ik kan zeker helpen, stuur svp een email met je specifieke verzoek. Zie adres onderaan deze pagina.
Comment by: Jan Karel Pieterse (8/16/2010 4:33:46 AM)Hallo Pim,
Dit kan alleen door de XML in VBA te verwerken, je kan niet beinvloeden op welke manier Excel de XML importeert in het werkblad.
Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.
Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: www.eileenslounge.com.