Save XLS Using Interop Excel

c#, excel, excel-interop, office-interop, vb.net

Solution

Actually `XlFileFormat.xlExcel12` is Excel 12.0 binary format (`xlsb`) , for OpenXML (i.e. `xlsx`) you need to use `XlFileFormat.xlOpenXMLWorkbook` enum value.

For a complete reference see here.

Problem

The Current Setup: So, I can use the following code to save a file as an XLS: ``` _myWorkbook.SaveAs("FileName.xls", Excel.XlFileFormat.xlWorkbookNormal) ``` I can also use the following code to save a file as an XLSX (Since I use Office 2010): ``` _myWorkbook.SaveAs("FileName.xlsx", Excel.XlFileFormat.xlWorkbookDefault) ``` The Issue: I have tried (unsuccessfully) to save the file as an XLSX using the following code: ``` _myWorkbook.SaveAs("FileName.xlsx", Excel.XlFileFormat.xlExcel12) ``` Why does this not work? Last I checked, Excel 12 was Excel 2007 (a version that supports XLSX). Am I missing something? (For those interested, I get a `This extension can not be used with the selected file type` error)

Original source