使用互操作在C#中打开Excel文件时出现异常

我有一个在服务器上运行的程序,它每天从网站下载一个.xls文件,打开它,然后将其转换为.csv,以便能够正确解析它并添加到数据库中

当我在本地PC上运行它时,一切正常,大部分时间也在服务器上运行,但可能一周一到两次,我会遇到以下异常:

发生异常:System.Runtime.InteropServices.COMException(0x800A03EC):来自HRESULT的异常:0x800A03EC
在Microsoft.Office.Interop.Excel.Workbooks.Open(字符串文件名、对象更新链接、对象只读、对象格式、对象密码、对象写入密码、对象忽略只读建议、对象原点、对象分隔符、对象可编辑、对象通知、对象转换器、对象添加、对象本地、对象损坏加载)

下面是一段代码片段:

Microsoft.Office.Interop.Excel.Application app=新的Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook wbWorkbook=app.Workbook.Open(_dir+_fileNameTrim+“.xls”,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型.缺少,类型;
wbWorkbook.SaveAs(_dir+_fileNameTrim+“.csv”,Microsoft.Office.Interop.Excel.XlFileFormat.xlCSVWindows,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
wbWorkbook.Close(false,“,true);

我在网上读过很多东西,很多解决方案都提到了安全设置,但我认为我的情况不是这样的,否则它根本不起作用。人们还提到该文件已被损坏。我真的不确定。任何帮助都将不胜感激

更新:

服务器上安装了Excel,尝试打开文件时发生异常

运行>dcomcnfg

这将打开组件服务并导航到控制台根目录
\组件服务\Computers\My Computer\DCOM配置\Microsoft Excel应用程序
在Microsoft Excel应用程序上单击鼠标右键,然后选择“属性”

单击标识选项卡并选中所选内容

选择option(交互用户)时,它对我有效

请试试,祝你好运

发表评论