解决方案 »

  1.   

    无论npoi oledb com操作excel,excel2003跟03版本以上的连接代码都有明显区别的。如果只考虑2010的,让对方卸载03安装2010重启试试吧,属于代码逻辑没考虑全。
      

  2.   

    关键是:我的小软件需要excel2010   而我那朋友的公司软件用的是excel 2003,所以现在很麻烦啊,他本来是2003的,现在又安装了2010之后,我的小软件可以用了,但是他公司的软件不行了,导出的excel文档打开是空的,而且都关不掉了,郁闷啊。怎么办啊,。。
      

  3.   

    你把要导出的内容作成excel模板,然后往里面填充数据.这样就不会出现你的问题了.
      

  4.   


    我在想,要不我把我这个小软件重新写一下,就按照他电脑excel2003的来搞。C#操作excel 2010和操作2003有什么区别呢?区别在哪啊大哥?
      

  5.   

    导出来的excel里面是空白的    打开的时候 选择使用2010打开
      

  6.   


    我在想,要不我把我这个小软件重新写一下,就按照他电脑excel2003的来搞。C#操作excel 2010和操作2003有什么区别呢?区别在哪啊大哥?
    引用的DLL版本不同,其他没太大区别.
      

  7.   

    不行啊,他说他用公司的软件导出完毕后,直接打开一个空白的excel文档,并且不能点保存和另存为,按钮都是灰的。难道非要删了2010才行呀?郁闷。他的软件需要2003  我的软件需要2010,真麻烦啊。就没有一个两全其美的方法吗?所以我在想,不行我就改一下我的程序好了,改成2003的,关键我不知道2010和2003有什么区别啊,我只写过操作2010的excel的。
      

  8.   

    好像引用的EXCEL的DLL有两个版本的,要引用那个11.0的,不能用14.0的。
      

  9.   

    11.0 for 2003
    12.0 for 2007
      

  10.   

    这个需要你代码作处理,就像JS创建xmlhttprequest一样,不同浏览器分别用try-catch创建起来对于Excel这种需要用到com组件的,你需要通过不同版本的Excel组件的GRID去尝试创建实例,然后进行相应版本的处理(不同版本可能个别函数不一样)
      

  11.   

    GRID  -->  GUID
      

  12.   

    写两个EXACLE的创建就好了,根据他的EXACLE的版本来创建 是哪个就创建那个。
      

  13.   


    没太明白你的意思啊?我现在导出报表都是做好excel模板,然后往excel里面填充数据,然后导出的是excel文件。这样基本上是不会出错的。明白?
      

  14.   

    试一下这个,我觉得可能是你的COM引用的问题。我的Excel是从2003直接升级到2010的,但是没有你这个问题。我EXCEL引用的是14.0的库。
      

  15.   

    用NPOI,哪怕对方电脑上没有装office,都可以导出来。PS:当然,若要打开这个导出的文件还是需要excel