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

Bestand crasht Excel!!

Red mijn werkmap!
De beste tool voor Excel bestanden met problemen.

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

Laatste 8 commentaren van in totaal 30 (Toon ze allemaal):

 


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].