A simpler solution: use data sources in Excel.
- Create an Xslx "template" that suits your needs.
- For each xml data file, add a data connection to the XML file.
- Configure, if you want, a data connection for the update each time you open the file.
This works out of the box, with no code at all (excluding, of course, xml generation).
Optionally, you can publish your Xml through an ASP.Net application (dynamically or not) and configure a data connection to collect data from this asp.net application.
source share