如题,我需要引用Microsoft.Office.Interop.Excel,版本分别是11.0和12.0命名Component Name是完全一样的,如何引用至一个项目中

解决方案 »

  1.   

    不行啊,在服务器上生成高版本的excel,客户端是低版本的话,是打不开的
      

  2.   

    只用11.0也不行,Excel2003有255列的限制,有需求要列大于这个数,所有必须用12.0但其他地方还希望保留11.0,保证其他地方的功能不受影响
      

  3.   

    项目中这2个引用全部添加。在后台使用时这样
    try
    {
       //这里用12.0版本
    }
    catch
    {
       //这里用11.0版本
    }
    还有就是使用的时候全名引用,带命名空间的。
      

  4.   

    导出excel可以不需要微软office的动态连接库文件,使用第三方控件(无需安装office)。
    在 Server 端存取 Excel 檔案的利器:NPOI Library
      

  5.   

    写一个接口:IExcelHandler,定义好要使用的方法,然后写两个类Excel2003Handler.cs和Excel2007Handler.cs去实现该接口,在这两个类中分别去引用两个版本的Microsoft.Office.Interop.Excel,用一个App.config文件来存放配置文件,其中用一个Add节点来存储要使用的excel版本,用户可设置使用的excel版本,根据用户的设置用xml方式去修改该配置文件,然后每次要使用excel的编程功能时用IExcelHandler和从配置文件中查找到的信息去使用反射创建Excel2003Handler或Excel2007Handler对象,然后由于实现了IExcelHandler接口,所以不管你创建了哪种excelHandler对象,使用的方法都是一样的了
      

  6.   

    不好意思,有个地方说错了,Excel2003Handler和Excel2007Handler是两个类库,所以才能分别引用同名却不同版本的dll