Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How do you easily convert an excel file into a XML file?

When trying to save as an XML File, it complains that the file does not have an XML mapping. Clicking help brings up pretty complicated stuff about XML Mapping file, XLD and some other acronyms. Why is it so complicated?

Lately I've realized that tab delimited, CSV and others are prone to formating issues (comas in a field, new lines, quotes, ...). So I think that XML is a better way to process excel data.

Please advise. Maybe a freeway tool?

share|improve this question
    
Tab delimited avoids the issue of commas in fields as they are not part of the delimiter. If you save CSV files using Excel and it detects commas in some fields it will wrap them in quotes to avoid ambiguity, but the system you are inputting into needs to understand this and strip them. –  AdamV Mar 25 '10 at 11:08
add comment

3 Answers

Here is an oldish reference to the 'XML::Excel' Perl module.
There is another question on Stackoverflow that shows samples for converting to CSV that may give you ideas on using such scripts.

There is also a short IBM developerWorks article on tips to Convert Excel data to XML which points to some resources.

share|improve this answer
    
The link to IBM developerWorks is broken, sadly... do you know of an updated link? –  Nathan Fellman Jul 7 '13 at 19:56
    
I took the liberty of fixing the link. –  Nathan Fellman Jul 7 '13 at 20:07
add comment

In Excel 2007, by default spreadsheets are saved into a complicated XML format(xlsx) which then gets zipped up into a single file. If you want to save to a custom XML format you have to define a schema which defines how the data will be formed. There is no just "save to XML" option.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.