C# 使用互操作Excel保存XLS

C# 使用互操作Excel保存XLS,c#,vb.net,excel,office-interop,excel-interop,C#,Vb.net,Excel,Office Interop,Excel Interop,当前设置: 因此,我可以使用以下代码将文件保存为XLS: _myWorkbook.SaveAs("FileName.xls", Excel.XlFileFormat.xlWorkbookNormal) 我还可以使用以下代码将文件保存为XLSX(因为我使用的是Office 2010): 问题: 我已尝试(未成功)使用以下代码将文件保存为XLSX: _myWorkbook.SaveAs("FileName.xlsx", Excel.XlFileFormat.xlExcel12) 为什么这不起作用

当前设置:

因此,我可以使用以下代码将文件保存为XLS:

_myWorkbook.SaveAs("FileName.xls", Excel.XlFileFormat.xlWorkbookNormal)
我还可以使用以下代码将文件保存为XLSX(因为我使用的是Office 2010):

问题:

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

_myWorkbook.SaveAs("FileName.xlsx", Excel.XlFileFormat.xlExcel12)
为什么这不起作用?最后我检查了一下,Excel12是Excel2007(一个支持XLSX的版本)。我错过什么了吗


(对于那些感兴趣的人,我得到一个
此扩展名不能与所选文件类型一起使用
错误)

实际上
XlFileFormat.xlExcel12
是excel12.0二进制格式(
xlsb
),对于OpenXML(即
xlsx
),您需要使用
XlFileFormat.xlOpenXMLWorkbook
枚举值


完整参考。

excel文件中是否有宏?是否可以使用.xls扩展名?@MicahArmantrout:没有。只是多个选项卡上的数据。@Sorax:是的……但是当文件打开时,会出现一个
文件不是扩展名所说的格式。你相信它吗?
我宁愿避免使用的对话框。我没有使用2010 interop,我已经切换到OpenXML SDK,但我熟悉以前的interop,我不知所措。你所做的应该有用。我希望我能帮忙。
_myWorkbook.SaveAs("FileName.xlsx", Excel.XlFileFormat.xlExcel12)