SpreadsheetML file sizes will be about 3-4 times larger than native XLS files. Not really a problem for small files, but with large data sets this could eat up your system resources to generate the file.
SpreadsheetML will only be readable by Microsoft Office. Other mainstream office suites will open it as an XML document.
The CSV approach fits my needs 9 times out of 10. However if you require a native Excel format, please use a gem and avoid using the SpreadsheetML method.
Excel XML is known as SpreadsheetML
FAIR WARNING:
The CSV approach fits my needs 9 times out of 10. However if you require a native Excel format, please use a gem and avoid using the SpreadsheetML method.