if(!= )
*.Rows[i].Delete();
*.AcceptChanges();
【解决办法-AC0004】 :
除用工具彻底卸载wps或Office外,如果下图所示注册表,也整个删除
无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel.Worksheet”。此操作失败的原因是对 IID 为“{000208D8-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自HRESULT:0x80004002 (E_NOINTERFACE))。
【问题原因】:电脑安装先后多个Office Excel版本,或者安装过WPS。
【解决办法-AC0003】 :
在注册表中找到:
HKEY_CLASSES_ROOT\TypeLib{00020813-0000-0000-C000-000000000046}
在其子项中,删除与当前Excel版本不一致的选项即可。
注意:删除注册表选项前,请先备份删除的选项。
如下图所示:
【原因分析】:在操作系统中注册的COM组件的多个版本(WPS/Excel)弄乱了
【解决办法-AC0005】 :点击查看链接:COM类错误80040154
【解决办法-AC0019】 :
可能是wps安装的问题,你可以试下打开新建组件,切换运行环境为无依赖。
.xlsm格式是只支持在excel里面打开,wps不支持
编辑器1.1.2204.9版本开始,合并excel和WPS分类,“打开/新建”合并为一个,新版本功能不会再出现此类问题报错。
【解决办法-AC0020】 :
用excel-打开/新建 ,替换掉wps-打开/新建
【解决办法-AC0007】 :
检查是否安装福昕PDF阅读器,找到“excel选项”,点开后点击“加载项”,最下面有个管理加载项的下拉菜单,选“COM加载项”,点“转到”,这时会弹出一个框,把里面pdf软件的加载项前面的勾去掉,点确定;
【解决办法-AC0008】 :
检查文件是否能正常打开,导致的原因有多种,一般是由于该EXCEL文件的编辑环境发生较大变化,如64位系统环境下编辑的EXCEL不一定能在32位系统环境下顺利读取。
详细错误信息:Unable to cast COM object of type 'Microsoft.Office.Interop.Excel.ApplicationClass' to interface type 'Microsoft.Office.Interop.Excel._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000208D5-0000-0000-C000-000000000046}' failed due to the following error: 库没有注册。 (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
【解决办法-AC0009】 :排查电脑是否安装过wps,如 是:重新安装wps
【原因分析】:安装的Excel版本不正确
【解决办法-AC0011】 :点击查看:CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败
【原因分析】:如果许多 COM+ 应用程序在 This User 属性中指定的不同用户帐户下运行,则计算机无法分配内存以创建新用户的新桌面堆。 因此,进程无法启动。
【解决办法-AC0010】 :具体解决办法,详见链接:启动多个 COM+ 应用程序时出错:错误代码80080005 -- 服务器执行失败
【原因分析】:Excel兼容性导致
【解决办法-AC0021】 :点击查看链接使用poi读取excel异常,参考链接内容看下应该是否文件有问题,可以把打开失败的文件名抛出,整理成一个列表比那与之后查看
【解决办法-AC0013】 :定位不到错误行的情况下,可以全选把单元格格式都设为文本
【解决办法-AC0022】 :确认一下,区域表示的“冒号”用了中文冒号,需要使用英文冒号
读取区域失败,详细错误信息:以下方法或属性之间的调用具有二义性:
“System.Data.DataRowColection.Add(System.Data.DataRow)”和“System.Data.DataRowCollection.Add(params object[])”
【解决办法】:可以试试把参数类型改成DataRow,然后看下哪里用的object[]
【解决办法-AC0014】 :获取文件夹类别,一个个打开excel处理完关闭的时候,前面excel还没关闭好,进程被占用,前面打开加一个延时。
如果上面的方法还是不行就修复一下WPS或Excel
【解决办法-AC0016】 :检查写入单元格是否合法超出excel范围
【解决办法-AC0017】 :检查创建透视表范围的列头是否为空
【解决办法-AC0023】 :报错与组件的全局筛选冲突 解决办法:在excel里先取消筛选
【原因分析】:Wps接口实现Office接口兼容性问题,若只安装Office情况能正常执行;
【解决办法-AC0001】 :按照下方的在步骤操作确认
设置第二个筛选条件和第一个一样;
更新编辑器版本,最新版本已经做了兼容性处理;
【解决办法-AC0015】 :检查宏脚本是否可以在excel中手动调用,其次检查宏函数名字是否以譬如set等关键字开头.
补充:报错描述的是rpc通信错误,文件过大也会使得rpc通信失败
【解决办法-AC0025】 :
【解决办法-AC0025】 :
【解决办法-AC0043】 :vba脚本问题。800A0023一般指“未定义” Sub 或 Function,具体参考链接:[导入]vbscript错误代码及对应解释大全/VBScript 语法错误
【解决办法-AC0045】 :
网上有个同样的PPT文件的错误, 可能是那个excel是用Mac os里面新建的,你可以在Windows上新建一个excel, 然后把那个错误的excel里面内容复制过来试下,这里还提供了一种使用代码修复的方式:
https://stackoverflow.com/questions/18910623/the-document-cannot-be-opened-because-there-is-an-invalid-part-with-an-unexpecte
【原因分析】:
(1)先装的office 然后再装的wps,wps会默认把excel改成wps打开,然后wps的执行宏是要收费的,所以会报错;
(2)写入单元格超出合法excel范围了
【解决办法-AC0012】 :
解决办法一: 把wps这几项取消勾选
解决办法二:需要确认一下是不是行号或者列号是不是有错误,也有可能是宏文件本身无法打开
【解决办法-AC0006】 :详见链接,关掉可视 c# - Error:-(Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER)) - Stack Overflow
【解决办法-AC0026】 :要根据创建透视表数据源区域重新算列索引