首页 > 代码库 > 利用office2000组件进行填充打印报不支持集合。 (Exception from HRESULT: 0x80020011 (DISP_E_NOTACOLLECTION))

利用office2000组件进行填充打印报不支持集合。 (Exception from HRESULT: 0x80020011 (DISP_E_NOTACOLLECTION))

环境:win2008 64位+.net4.0 +office2000

错误提示:

不支持集合。 (Exception from HRESULT: 0x80020011 (DISP_E_NOTACOLLECTION))
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at Excel.Range.get_Value(Object RangeValueDataType)
at wfp.classlibrary.Common.WFPExcel..ctor(Byte[] ModeStream, String FilePath, String FileName, DataSet DS, String wfpuser)

 

解决方法参考:

【注:在VS.Net中运行是要添加Excel.dll组件的,Excel组件VS.Net本身是没有的,下面是生成Excel.dll的方法。】

1.要保证机器本身要安装OFFICE.

2.把[C:Program FilesMicrosoft OfficeOffice:默认安装路径]下的EXCEL9.OLB文件拷贝到[C:Visual Studio.NetSDKv1.1Bin:VS.Net安装路径]路径下。

3.打开Visual Studio .Net2003命令提示,运行TlbImp Excel9.olb Excel.dll ,就会在[C:Visual Studio.NetSDKv1.1Bin]下生成Excel.dll组件。

4.在项目中添加Excel.dll引用就OK了。

 

把文件复制到

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0

目录下

启动v2012开发人员提示:

执行TlbImp Excel9.olb Excel.dll

 

利用office2000组件进行填充打印报不支持集合。 (Exception from HRESULT: 0x80020011 (DISP_E_NOTACOLLECTION))