2012-01-16 113 views
0

在Windows窗体应用程序中,我将一些数据保存到Excel文件中。 到现在为止,我使用Excel 2003并将其另存为xls文件。与此代码:Excel 2007升级错误

exportFile.SaveAs(strPath, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlShared, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

我已经升级到Excel 2007中,现在我想保存数据,XLSX,所以我已经改变了同一行:

exportFile.SaveAs(strPath, Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

但现在,我得到该行的异常,“异常来自HRESULT:0x800A03EC” 你知道我在做什么错吗?

谢谢!

+0

您是否从Excel 2007中引用了新的互操作程序集? – gsharp 2012-01-16 09:24:31

+0

是的,我已经删除了旧的2003年参考并添加了2007 – maephisto 2012-01-16 09:28:32

+1

什么是'XlSaveAsAccessMode.xlShared'?如果您使用“Type.Missing”或“xlNoChange”,会发生什么情况? – 2012-01-16 09:57:46

回答

0

我试过了@david heffernan的解决方案并且工作。 XlSaveAsAccessMode.xlNoChange诀窍