使用Interop Excel保存XLS

当前设置:

所以,我可以使用下面的代码将文件保存为XLS:

_myWorkbook.SaveAs("FileName.xls", Excel.XlFileFormat.xlWorkbookNormal) 

我也可以使用下面的代码将文件保存为XLSX(因为我使用的是Office 2010):

 _myWorkbook.SaveAs("FileName.xlsx", Excel.XlFileFormat.xlWorkbookDefault) 

问题:

我已经尝试(不成功)使用以下代码将该文件保存为XLSX:

 _myWorkbook.SaveAs("FileName.xlsx", Excel.XlFileFormat.xlExcel12) 

为什么这不起作用? 最后我检查了Excel 12是Excel 2007(支持XLSX的版本)。 我错过了什么吗?

(对于那些感兴趣的,我得到一个This extension can not be used with the selected file type错误)

其实XlFileFormat.xlExcel12是Excel 12.0二进制格式( xlsb ),对于OpenXML(即xlsx )您需要使用XlFileFormat.xlOpenXMLWorkbook枚举值。

有关完整的参考, 请参阅此处 。