添加AxSpreadSheet时出现找不到Interpod.ADOBD或依赖项

C# 专栏收录该内容
2 篇文章 0 订阅
第一次添加的时候是可以的,后来便显示缺少ADODB.dll同时发现AxOWC引用旁边出现了黄色的感叹号。
解决问题的主要参照方法为http://support.microsoft.com//kb/823982,要修改和重新生成AxOWC的类包装。
aximp.exe的位置位于D:/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin下。VS 2003的命令提示位于开始菜单
->所有程序->VS.net2003->VS.net下。
在AxOWC10.cs的编译的过程中出现了各种错误,要在文本管理器中逐步解决,问题都不大,比较容易解决。
在编译时只找到了MSComctlLib.dll没有找到要求的MSComctl.dll,在各种找没有找到的情况下,直接将名字改掉编译,居然通过了 。。。
在VS2003中添加AxOWC后还要将需要的一系列dll文件拷贝到OBJ文件夹下。
附录:

修改和重新生成类包装的步骤

  1. 启动 Visual Studio .NET 命令提示符。
  2. 在命令提示符下,执行以下操作:
    1. 创建一个名为 owc11 的新目录,然后更改到该目录:
      md c:/owc11

      cd c:/owc11
    2. 生成 Microsoft Windows 窗体包装的源代码(C# 语言):
      aximp "c:/program files/common files/microsoft shared/web components/11/owc11.dll" /source
    3. 删除生成的程序集 AxOWC11.dll
      del c:/owc11/axowc11.dll
  3. 在文本编辑器(例如“记事本”)中,打开“C:/OWC11/AxOWC11.cs”。
  4. [ToolboxItem(true)] 添加到图表组件、电子表格组件和数据透视表组件的生成的类中,如下面的示例所示:

    图表组件
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxChartSpace : System.Windows.Forms.AxHost { 
      	... 
     } 
    电子表格组件
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxSpreadsheet : System.Windows.Forms.AxHost {
     	 ... 
     } 
    数据透视表组件
     [System.ComponentModel.ToolboxItem(true)] 
     public class AxPivotTable : System.Windows.Forms.AxHost {
     	 ... 
     } 
  5. 将事件类标记为 ClassInterfaceType.None,如下面的示例所示:

    图表组件
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)] 
     public class AxChartSpaceEventMulticaster : OWC11.IChartEvents {
     	 ...
      } 
    电子表格组件
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)]
     public class AxSpreadsheetEventMulticaster : OWC11.ISpreadsheetEventSink {
     	 ...
     } 
    数据透视表组件
     [System.Runtime.InteropServices.ClassInterface( 
      System.Runtime.InteropServices.ClassInterfaceType.None)] 
     public class AxPivotTableEventMulticaster : OWC11.IPivotControlEvents {
     	 ... 
     } 
  6. 将您的更改保存到 AxOWC11.cs。
  7. 在 Visual Studio .NET 命令提示符下,执行以下操作:
    1. C:/Program Files/Microsoft.NET/Primary Interop Assemblies 添加到您的 LIB 环境变量中:
      set lib=c:/program files/microsoft.net/primary interop assemblies;%path%
    2. 从安装 Microsoft Office 2003 主互操作程序集的 GAC 中复制 Microsoft.Office.Interop.OWC11.dllMSComCtl.dll
      copy %windir%/assembly/GAC/Microsoft.Office.Interop.Owc11/11.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Owc11.dll

      copy %windir%/assembly/GAC/mscomctl/10.0.4504.0__31bf3856ad364e35/mscomctl.dll
    3. 编译源文件 AxOWC11.cs
      csc /t:library /r:microsoft.office.interop.owc11.dll /r:adodb.dll /r:msdatasrc.dll /r:mscomctl.dll axowc11.cs
      注意 您会收到以下 CS0108 错误信息:
      The keyword new is required
      您可以忽略此错误。
  8. 启动 Visual Studio .NET。
  9. 将新编译的“AxOWC11.dll”添加到“工具箱”中:
    1. 在“工具”菜单上,单击“自定义工具箱”(在 Visual Studio .NET 2002 中)或单击“添加/删除工具箱项”(在 Visual Studio .NET 2003 中),然后单击“.NET Framework 组件”选项卡。
    2. 在“.NET Framework 组件”选项卡上,单击“浏览”。
    3. 在“文件名”文本框中,键入 c:/owc11/axowc11.dll。单击“打开”。
    4. 单击“确定”以关闭“自定义工具箱”对话框。
当创建新的 Microsoft Visual Basic .NET 项目或新的 Microsoft Visual C# .NET 项目时,您会注意到“工具箱”中“常规”选项卡上的控件列表中包含“AxChartSpace”控件、“AxPivotTable”控件和“AxSpreadsheet”控件。现在便可以将这些组件添加到窗体中了。
  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

pring119

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值