I recommend SpreadsheetML for this. It's just an xml schema you can use to create documents that Excel will open as if they were native. You can set formulas, formatting, multiple sheets, and most other excel features.
Be careful when googling for additional info on SpreadSheetML: there's a lot of misinformation out there that confuses SpreadSheetML with the new Xml format used for Excel in Office 2007. It's not. SpreadSheetML works as far back as OfficeXP, and even in a limited sense in Office 2000.
If nothing else, the SpreadSheetML link at the beginning of this post also includes a short overview of other options for create Excel files.