首页新闻找找看学习计划

调用office组件不成功,求解决!

0
悬赏园豆:50 [待解决问题]

采用的office组件来打开excel,在代码中第10行的时候提示如下异常:

其他信息: 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 找不到 。 (异常来自 HRESULT:0x80030002 (STG_E_FILENOTFOUND))。

相同的代码在别人的机子上就没问题,以前自己也可以运行成功,但后面不知道为什么就突然不行了,有人说是安装了多个office版本的原因,具体不知道怎么解决,我安装的是office2007,求各位大虾帮忙解决下!

 1 bool isSuccess = false;
 2             Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;
 3             object missing = Type.Missing;           
 4             Excel.Workbook workBook = null;
 5             Excel.Application application = new Excel.Application();
 6             try
 7             {                
 8                 object target = targetPath;
 9                 object type = targetType;
10                 workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,
11                 missing, missing, missing, missing, missing, missing, missing, missing, missing);
12                 workBook.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);
13                 isSuccess = true;
14             }
小风123的主页 小风123 | 初学一级 | 园豆:64
提问于:2013-11-29 09:11
< >
分享
所有回答(6)
0

excel版本声明看看有没有错,再试试重新引用com组件

iEvent | 园豆:529 (小虾三级) | 2013-11-29 09:22
0

建议使用nopi组件

vovovov | 园豆:218 (菜鸟二级) | 2013-11-29 09:25
0

直接实用Aspose.Cell吧。很好用并且稳定。

````` | 园豆:14268 (专家六级) | 2013-11-29 10:51
0

没问题那人用的office2003?

+小马哥++ | 园豆:906 (小虾三级) | 2013-11-29 11:41
0

应该是office版本问题

NLazyo | 园豆:202 (菜鸟二级) | 2013-11-29 11:50
0

lz,来我的博客看关于标题为《无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”》(文章地址:http://www.cnblogs.com/sunxin88/articles/3456395.html),也许会帮到你。

最近我在调用Interop.Word时,也遇到了这个问题,用文章中删除注册表项方法解决了。这个问题根源应该是安装了不同版本的Office。

XIN_001 | 园豆:202 (菜鸟二级) | 2013-12-04 19:54
HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}

能把注册表中这个的完整目录给我说下吗?

我找不到。。直接搜也搜不到

支持(0) 反对(0) 小风123 | 园豆:64 (初学一级) | 2013-12-05 09:28

找到了,试过了,但是不行

报的异常是:因以下错误而失败: 找不到 。

那边是:因以下错误而失败: 库没有注册。

是不是不一样?

支持(0) 反对(0) 小风123 | 园豆:64 (初学一级) | 2013-12-05 10:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册