未能加载文件或程序集“Office, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”

最近在使用.Net开发项目使需要使用到将数据库中的数据导出为Excel,网上搜索了一下可以使用NPOI 、C#原生代码等。在开发的时候使用了C#原生代码来导出数据库数据到Excel,在网上搜索找了一个Excel.dll,同时又搜索找到一个操作Excel的帮助类,于是将dll引入到项目中,同时将Excel帮助类添加到项目中,很快完成了将数据库中的数据导出为Excel,然后部署到服务器上,在服务器上测试的时候,每次点击导出Excel总是报上面的错误,刚开始以为是应为在服务器上没有安装Office的问题,于是在服务器上安装了Office,想总可以解决了吧,测试一下,发现还是有这个问题。继续在网上搜索,解决方法如下:
1.导出Excel程序调试起来很正常,发布到服务器上却出错
错误:未能加载文件或程序集“Office, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
原因:程序中使用的Excel.dll是office2003的程序集生成的, 我服务器上安装的是office2007,版本不匹配。
解决方案:把office2007目录下的Excel.exe重新生成Excel.dll ,工具是TlbImp.exe ,安装Visual Studio的各版本都有。
方法:1.本人的是VS2010,TlbImp.exe在目录C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin下,在系统控制台转到这个路径,然后把Office下的Excel.exe也拷贝到这个路径下,命令:TlbImp.exe Excel.exe 如图:
这里写图片描述
在路径下可以找到已经生成的Excel.dll 。好那就拷贝到Bin目录下,加入到项目引用中,调试成功,错误消失
然后在配置DCom使可以通过IIS操作Excel,配置完成以后还是不能导出,每次读取Excel时总是报异常:
可能的原因有: • 文件名称或路径不存在。 • 文件正被其他程序使用。 • 您正要保存的工作簿与当前打开的工作簿同名。

原来是在配置DCom是中Microsoft Excel Application的“标识”时,忘记勾选“交互式用户”.

Excel2007类库以及操作Excel类库

装载自:http://www.cnblogs.com/kingkongv/archive/2012/08/25/2656982.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值