使用Interop Excel保存XLS文件

7

当前设置:

因此,我可以使用以下代码将文件保存为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 就是支持 XLSX 格式的 Excel 2007。我是否漏掉了什么?
(对于那些感兴趣的人,我遇到了“此扩展名不能与所选文件类型一起使用”的错误提示)

它能够与 .xls 扩展名一起使用吗? - Sorax
@MicahArmantrout:没有。只有多个选项卡上的数据。 - Onion-Knight
@Sorax:确实会有这个问题...但是当文件被打开时,会出现一个“文档的格式与扩展名所指示的格式不符。是否信任此文档?”的对话框,我宁愿避免它。 - Onion-Knight
我没有使用过2010互操作性,我已经转向OpenXML SDK,但我熟悉以前的互操作性,现在我有些不知所措。你正在做的应该是可以的。我希望我能帮忙。 - Sorax
只要不收到错误消息,将其保存为XLS格式是否可以? - Micah Armantrout
显示剩余2条评论
1个回答

18

实际上,XlFileFormat.xlExcel12 是 Excel 12.0 二进制格式(xlsb),如果要使用OpenXML格式(即xlsx),则需要使用XlFileFormat.xlOpenXMLWorkbook 枚举值。

完整的参考文献请在此处查看


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接