我的DEBUG中有 Microsoft.Office.Interop.Excel.dll   由于使用代码生成EXCEL时 是找本机注册的Excel.dll 所以会出现每个机器上的Z注册Excel.dll的版本的问题   比如  有的是11.0(2003)  有的是12.0(2007)生成出来的EXCEL文件就有兼容性问题    今天早些时候发帖问  有人说用动态加载项目DEBUG中的DLL  但是我试了下  CreateInstance 的时候报错  没有在COM工厂类  中找到相应的程序集   好像还是在 注册的DCOM中寻找的   请问各位有什么办法吗 ?  现在我有这样的疑问 通过DLL 加载的是不是只能是.NET组件

解决方案 »

  1.   

    lz使用该方法进行的excel操作其实非常不方便,通过调用MS的DLL来实现在没有安装office的机子上是无法运行的!
    建议LZ使用oledb进行对excel的操作,方法:
    使用Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No';Data Source=+文件路径作为连接字符串
    先使用OleDbConnection打开连接再使用OleDbCommand(进行creat table)创建你希望的表格,再使用insert对表格进行插入操作
    这样的话就算在别的机子上没有安装office也可以进行导出的操作
      

  2.   

    如果是读Excel
    使用Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties足够了
    如果是写Excel
    不加格式的也可以用Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties如果要设置格式.
    用Excel对象.但是配置比较困难.
      

  3.   

    貌似是LZ没有添加引用控件....
     并且..引用的时候经常会出错,需要用TLPMIT解决..
     
      

  4.   

    调用office的excel组件生成会有很多问题,建议换用其它纯.net组件,例如Aspose.Excel
      

  5.   

    OLEDB可以解决  我只是想求证下关于Excel.dll的问题   谢谢  coolstarhty  提供的组件