错误0070005 Acceso denegado Interop.Excel

当我尝试创buildoXL对象时,我添加了Interop Excel引用,但无法工作。

object missing = Type.Missing; Range aRange; Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application(); oXL.Visible = false; 

我得到这个错误:

没有find合适的回收站。CLSID {00024500-0000-0000-C000-000000000046}错误代码:80070005 Acceso denegado。 (Excepciónde HRESULT:0x80070005(E_ACCESSDENIED))。

英文翻译:

检索具有CLSID {00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败,原因如下:80070005访问被拒绝。 (从HRESULTexception:0x80070005(E_ACCESSDENIED))。

你有办公室安装在服务器上?
要么
你有没有在服务器上安装PIA ?

这就是说; 这里是强制性的不要做

在服务器上安装Office被认为是一个不好的解决scheme。 如果你真的需要,我build议你在自己的服务器上安装Office,从你的IIS调用。

与客户交互是很麻烦的,至less可以说。 代码示例往往是天真的。 如果你仍然需要 – 包办所有的办公室互动。

最后 – 如果您只需要导出excel文件,请查看那里的开源库。 我已经使用了EPPlus ,比起与Excel交谈的原始解决scheme, EPPlus既快速又不易出错。

最后,最后你可以逆向工程的Excel格式,并通过串起来生成XML文件。 我也这样做了,而且闪电般快。 我的第一个尝试是使用XML DOM,它完美的工作,直到我们用完了RAM; 那么我们就把XML一起串起来了。

因人而异