与Excel中的interopServices C#COMException

我在一些机器上安装我的程序时遇到了一个非常恼人的问题,我已经开发了一个C#应用程序,一切正常,当然我在另一台机器上testing了它,没有任何问题,但是当我在客户端机器上安装时,会出现以下问题:

System.Runtime.InteropServices.COMException(0x800A03EC):来自HRESULT:0x800A03EC在Microsoft.Office.Interop.Excel.Range System.RuntimeType.ForwardCallToInvokeMember(stringmemberName,BindingFlags标志,对象目标,Int32 [] aWrapperTypes,MessageData&msgData) .set__Default(对象RowIndex,对象ColumnIndex,对象)在SchoolMgmt.certificate_succession.sum_operation()

当程序与Excel,Office微软(我试图安装另一个Office版本没有成功)沟通。
我已经search了很多的解决scheme,但没有任何作品,因为它声称这个问题只是在以下path权限问题

C:\ Windows \ System32 \ config \ SystemProfile

为什么程序在我的testing机上顺利而顺利地运行,而不是在我的客户端呢,真的让我发疯了!
任何build议请。

经过数周和数周的search和挖掘出地狱的问题,我明白了!
这只是区域设置的一个问题! 是的,我不知道为什么,但微软Office就是这样工作,控制面板的区域设置应该是英语,而不是任何其他语言接受,因为我正在从不同的用户阅读。
因此,如果您想从C#应用程序中使用Microsoft Office,请确保您的区域设置是英语和瞧!

我得到了同样的问题,经过几次审判,我明白一些已安装的Excel版本(2013)已经设置了与Excel 2003兼容的选项(一般选项)。 在这种情况下,新创build的文件只接受255列和65.535行。 由于我的应用程序正在处理数千个列,所以excel正在生成错误。 简单的解决scheme是更改一般选项,并将“保存的文件格式”设置为“ .xlsx ”而不是“.xls”