2014-11-03 47 views
0

今天我对ms office进行了更新,并且从2007年到2013年。在更新之前,所有工作都完美无缺。当我调试代码时,第一行出现错误。有人可以帮我解决这个问题吗?'System.InvalidCastException'类型的异常

代码:

Excel.Application xlApp = new Excel.Application(); 
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(excelPad); 
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1]; 
Excel._Worksheet xlWorksheet2 = xlWorkbook.Sheets[2]; 
Excel.Range xlRange = xlWorksheet.UsedRange; 
Excel.Range xlRangeClear = xlWorksheet.Range["A3:Y10000", Type.Missing]; 
Excel.Range xlRangeClear2 = xlWorksheet.Range["AC3:AJ10000", Type.Missing]; 

这里的错误:

An exception of type 'System.InvalidCastException' occurred in ****.exe but was not handled in user code

+0

您正在使用哪种办公软件互操作版本? – 2014-11-03 19:27:53

+2

也许在更新之后,您也必须更新参考。删除对Excel应用程序的引用并再次添加它。 – Sjips 2014-11-03 19:29:56

+0

@DJ Burb:版本12 – Filip 2014-11-03 19:33:02

回答

0

很有可能已经安装了新的PIA(主互操作程序集)为Excel 2013年您可以安装的Excel 2013:

  1. 在Visual Studio解决方案中更新您的参考指向2013年
  2. 更新注册表以指向PIA密钥(请参阅here获取说明)
+0

但我想保持2013年...我是否需要删除2007年的PIA密钥 – Filip 2014-11-03 20:03:49

相关问题