Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Subscribe to our mailing list

* indicates required

Audit !!!

Probeer onze RefTreeAnalyser
de beste Excel formule auditing tool.

Cursussen

Excel VBA Masterclass (Engels)
Excel VBA voor Financials

Third party tools

Speed up your file

FastExcel
The best tool to optimise your Excel model!

Repair your file

Stellar Phoenix Excel Repair
Best tool to repair corrupt Excel sheets and objects
Home > Nederlandse site > Artikelen > XML en Excel 2003 > XML in Excel
This page in English

XML en Excel

XML in Excel

Wat meer (Office) praktijk nu. Met Excel 2003/2007/2010/2013 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

Al het commentaar over deze pagina:


Comment by: ton vermeij (9/8/2006 6:45:19 AM)

Bij mij komt niet het tussenscherm wanneer ik in excel de xml file (test.xml) oproep. Ik kan dus niet de keuze maken voor de derde optie zoals genoemd. Heeft dit te maken dat ik minimaal met excel 2003 moet werken en niet met excel 2002 sp3?

 


Comment by: Jan Karel Pieterse (9/8/2006 6:55:06 AM)

Hoi Ton,

Klopt, het artikel is geschreven voor Excel 2003 (Professional).

Groetjes,

Jan Karel Pieterse

 


Comment by: Harry (10/15/2006 1:04:06 AM)

Figuur 3 krijg ik wel te zien, daarna krijg ik een scherm met de melding dat "De opgegeven XML-bron verwijst niet naar een schema. Excel maakt een schema op basis van de XML-brongegevens."
Lijkt alsof ik een schema ergens vandaan moet halen? Wat te doen?

 


Comment by: Jan Karel Pieterse (10/15/2006 2:02:01 AM)

Hallo Harry,
Dat klopt, dat schermpje krijg je inderdaad.
Als je gewoon op OK klikt, dan zal Excel het XML bestand analyseren en een schema voor je maken.
Dat schema kan je overigens niet zien of opslaan, dat blijft "intern Excel".

 


Comment by: Owen (11/20/2006 5:26:04 AM)

Ik krijg figuur 3 niet te zien, bij mij wordt het gelijk geopend en dat is nou net een puinhoop.
Ik werk trouwens wel met Excel 2003 SP2

 


Comment by: Jan Karel Pieterse (11/20/2006 6:02:10 AM)

Hallo Owen,

Ik vermoed dat u dan geen Office professional heeft, klopt dat?

 


Comment by: Edwin (12/17/2006 1:02:41 PM)

Even bij Microsoft de addin voor Excel 2003 downloaden en dan kun je XML ook inlezen.

<a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=72852247-6AFD-425C-83B1-1F94E4AC2775&displaylang=en">XML Tools Add-in</a>

 


Comment by: Jan Karel Pieterse (12/18/2006 1:20:54 AM)

Hoi Edwin,

Bedankt voor de link.

 


Comment by: Frank (10/4/2007 3:59:23 PM)

Jan Karel,

t/m figuur 5 loopt alles prima mee, figuur 6 is bij mij een twijvelgeval (wel het figuurtje zeg maar, maar geen tekst), en figuur 7 blijft bij mij leeg, en de rest laat zic dus raden.

Nu vrees ik dat dit komt omdat ik met office 2003 basic werk. in de help van MS staat "Microsoft Office Professional Edition 2003 en Microsoft Office Excel 2003". zoals dat hier staat denk ik dat Excel als ik Excel 2003 gebruik dit dus zou moeten werken. Uit jouw tekst denk ik echter te lezen dat dit allen bij Excel 2003 werkt, als er verder geen office onderdelen zijn geïnstalleerd.

Klopt dit? En zo ja, is het dan een optie om office te deinstalleren, en alleen excel te installeren, of moet je dan echt een losse Excel versie kopen? Bestaat dat?

Alvast bedankt
Frank

 


Comment by: Jan Karel Pieterse (10/4/2007 9:19:57 PM)

Hallo Frank,

Het komt inderdaad door je Excel versie. Alleen Excel installeren is niet voldoende helaas, je zal echt 1 van beide versies moeten aanschaffen.

 


Comment by: hans schreurs (10/21/2009 1:09:32 AM)

Goede en correcte uitleg.
Bedankt

 


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.

 


Comment by: Chas (6/18/2013 11:25:41 PM)

Hallo Jan Karel,
kwam al zoekend op je site. Handige aanwijzing. Maar heb een vervolgvraag. Ik heb van een leverancier een Cd gekregen met meerdere xml files. Deze horen bij elkaar en vormen, volgens de leverancier, een groot databestand. Ik heb al van alles geprobeerd.
Het maken van xsd, xsl files etc. Hoe kan ik dit het beste doen.

Mvgr Chas.

 


Comment by: Jan Karel Pieterse (6/19/2013 7:38:02 AM)

Hoi Chas,

Heb je van die leverancier geen specificatie gekregen of zo?
Je kunt die xml bestanden gewoon openen in Excel om de data te bekijken, is dat niet genoeg?

 


Comment by: Chas (6/19/2013 9:01:07 PM)

Hallo Jan Karel,
dank voor je snelle respons. Mijn antwoord op je vraag is helaas nee. Ik kan de xml files wel per stuk inlezen en bekijken. Maar blijkbaar verwijzen de verschillende files op een bepaalde naar elkaar. Zo zijn er files: Propeties, Sentences, References en Products. Ik vermoed dat de daadwerkelijke data in de file Products zit en dat de andere files op een bepaalde wijze de informatie uit Products halen. Er zijn 12 Products files en deze zijn
behoorlijk groot. Ik heb geprobeerd een totaal xsd file te maken in een poging een totaal schema te krijgen. Ik heb een xsd file kunnen maken met 1 Products file. Met meer kreeg de Pc een geheugenprobleem. Dus hoe kan ik nu te werk gaan met multiple xml files die duidelijk bij elkaar horen?
Mvgr Chas

 


Comment by: Jan Karel Pieterse (6/20/2013 1:05:33 PM)

Hallo Chas,

Ik heb het sterke vermoeden dat die XML bestanden samen een database vormen (met gerelateerde tabellen). Je zou ze dus eigenlijk in MSAccess of een dergelijk programma moeten importeren wil je er echts iets aan hebben.

 


Comment by: Delphine (6/25/2014 11:34:01 PM)

Beste Jan Karel,

Ik zit met een xml vraagje.
Ik zou graag vanuit excel een xml aanmaken. Ik heb een specifiek xsd schema. Helaas krijg ik steeds de melding met als fout' kan niet geëxporteerd worden wegens lijst van lijsten'. Kan jij mij daarmee helpen ? Ik vermoed dat het op te lossen is met vba maar daar ben ik helemaal niet in thuis.

Alvast bedankt voor je respons!
Delphine

 


Comment by: Jan Karel Pieterse (6/26/2014 7:05:02 AM)

Hallo Delphine,

Natuurlijk. Neem s.v.p. contact op middels het email adres onderaan deze pagina.

 


Comment by: Roel (3/20/2015 11:20:37 AM)

Hallo Jan Karel,

Ik weet dat het een verouderd bericht is maar ik heb een kort vraagje.

Kan ik de handeling uit figuur 8 ook met vba uit kunnen voeren?
Het gaat over een vaste tabel die maandelijks ververst moet worden in office 2010

Alvast bedankt
Groeten Roel

 


Comment by: Jan Karel Pieterse (3/20/2015 1:41:45 PM)

Hoi Roel,

Uiteraard. Heb je al geprobeerd een macrootje op te nemen terwijl je die handeling doet?

 


Comment by: Roel (3/20/2015 7:31:04 PM)

Hallo Jan Karel,

Dat was inderdaad het eerste wat ik geprobeerd heb maar er werd niks opgenomen. Daarom ben ik het internet aan het afstruinen naar de code maar ik kan niks vinden helaas.

Groeten Roel

 


Comment by: Jan Karel Pieterse (3/23/2015 10:56:35 AM)

Hi Roel,

De syntax is:

Worksheets("Sheet1").ListObjects("Table1").XmlMap.DataBinding.Refresh

 


Comment by: Roel (3/23/2015 2:52:33 PM)

Geweldig.
Het werkt meteen.
Nu hoef ik het niet meer handmatig te vernieuwen

 


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.

Uw naam (verplicht veld):

Uw e-mail adres (Niet verplicht, dit adres wordt niet getoond)

Uw verzoek of commentaar:

Als u VBA code in uw commentaar plaatst, gebruik dan [VB] tags: [VB]Uw code[/VB].