C# 操作Excel 请高手赐教,谢谢!

问题描述

错误提示:无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对IID为“{000208D5-0000-0000-C000-000000000046}”的接口的COM组件调用QueryInterface因以下错误而失败:加载类型库/DLL时出错。(异常来自HRESULT:0x80029C4A(TYPE_E_CANTLOADLIBRARY))。请问是怎么回事?office都重装了好几次

解决方案

解决方案二:
使用NPOI操作Excel。
解决方案三:
OpenXMLisyourbestfriend.Fastandminimaldependency.
解决方案四:
HRESULT:0x80030002无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的COM对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对IID为“{00020970-0000-0000-C000-000000000046}”的接口的COM组件调用QueryInterface因以下错误而失败:找不到。(异常来自HRESULT:0x80030002(STG_E_FILENOTFOUND))。上次是HRESULT:0x80004002(E_NOINTERFACE),修复了一下office变成如上所示。出现原因:可能是安装office时安装过不同版本造成的。本人安装的是office2003,并安装过office2007的兼容包,也安装过officevisio2007解决办法:在注册表中找到:HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046}1.6删除之就可以了。因为我用的是office2003对应的是1.5,所以删除1.6office2007对应的是1.6,所以要根据情况判断。(我的是安装了2007之后有安装了2010,10可以,07不可以,我后来卸载掉10,用07版测试发现该注册表项下1.7还在,所以删除掉1.7,07版就正常了)后记:  一般来说,一个COM对象在提供的时候,通常还会提供一个类型库,在其中定义了COM对象的所有方法名称、参数名称、属性名称等等信息。我们要做的就是从类型库中取出这些信息。当然,某些只供C++程序员使用的COM对象没有类型库,而代之以C++的头文件和/或idl文件,对这种情况,一般没有办法在程序中枚举出对象的方法属性:毕竟去找C++头文件不太现实,何况在非开发环境下,根本就没有头文件的说。  在一般情况下,COM对象的TypeLib信息存储在注册表中:在HK_CLASSROOTCLSID{ClassID}的注册表项下,有一个名为TypeLib的子项,其中定义了这个COM对象类型库的ID;而在HK_CLASSROOTTypeLib注册表项下,列举了系统中所有TypeLib。

时间: 2024-11-08 23:52:27

C# 操作Excel 请高手赐教,谢谢!的相关文章

java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教。

问题描述 java中 Integer a=5;和Integer a = new Integer(5);的区别?请高手赐教. /*首先要知道的常识:1.关系操作符==:计算""操作数""的 值 之间的关系,结果为true或者false;这操作数指的是所有的基本数据类型以及所有对象;2.equals():是Object类中的方法,equals()作用和==相同,但是不适用于基本数据类型:3.自己定义的类可以覆盖Object类中的equals(); *///下面来看一个例

unicode编码-在三星S4行开发Android应用遇到一个Unicode编码的问题,请高手赐教,非常感谢

问题描述 在三星S4行开发Android应用遇到一个Unicode编码的问题,请高手赐教,非常感谢 从服务器端获取unicode字节数组,打印出来为003300300030003300300031,从打印来看应该小端UTF-16格式,对应字符串300301,但是用String(byteArrayUTF-16LE"")还是encodingUtls.getString(byteArrayUTF-16LE"")都是乱码,请问这个问题怎么解决,谢谢~~

请高手赐教

问题描述 PrivateSubbutton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbutton1.ClickdimmysqlasString="insertintopkinds(pkinds)values('"+Trim(textbox1.Text).Replace("'","").Replace"(">","

c++-怎么按下ESC键没有任何反应?请高手赐教

问题描述 怎么按下ESC键没有任何反应?请高手赐教 #define KEY_DOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0) if(KEY_DOWN(VK_ESCAPE)) PostMessage(hwnd,WM_DESTROY,0,0); 解决方案 重载虚函数: BOOL CdlgTotal::PreTranslateMessage(MSG* pMsg) { if(pMsg->message==WM_KEYDOWN &

vsm-利用java建立VSM模型时,矩阵太大应该怎么办?普通的增大内存都不管用了!!请高手赐教

问题描述 利用java建立VSM模型时,矩阵太大应该怎么办?普通的增大内存都不管用了!!请高手赐教 利用java建立VSM模型时,矩阵太大应该怎么办?普通的增大内存都不管用了!!请高手赐教 解决方案 挖掘机技术哪家强,中国山东找蓝翔 内存不够怎么办,电脑硬盘找办法 解决方案二: 你是在windows开发的吧?windows的JVM有最大内存限制,不同系统不同,单纯修改最大内存 -Xmx是没效果的.具体最大内存大小建议自己测试. 如果是在linux开发,内存不够的情况下,建议用持久化的办法.如何持

c/c++-运行结果:文件A不能打开。请高手赐教~~

问题描述 运行结果:文件A不能打开.请高手赐教~~ 这又是神马问题,运行结果说:文件A带不开代码分享链接:http://www.manonggu.com/biancheng/147 解决方案 你确认有A文件吗,你用完整路径试试

如何把SCP-ECG格式的文件解码,转换为DICOM或BMP等可读格式???请高手赐教!!!

问题描述 如何把SCP-ECG格式的文件解码,转换为DICOM或BMP等可读格式???具体说明从串口取到电脑里的文件数据是.ECG格式,用.TXT打开是乱码,要想办法转成数据如:23443F112756,这样才能转化为DICOM或BMP可读,但是不知道怎样把.ECG里面的数据解码转为.TXT可读格式,请高手赐教!!! 解决方案 解决方案二:关注中解决方案三:先解码,再转换解决方案四:有没有搞定,楼主,如果搞定了,麻烦一下给我万分感谢.gaofengqix@163.com解决方案五:楼主,麻烦分享

junit 的jvm问题,请高手赐教!!急

问题描述 junit在跑单元测试的时候,每运行一个测试类,junit会将其限制在一个jvm里那么,如果我要顺序运行classtest1classtest2......顺序运行多个test类junit是运行test1之后,在运行test2的时候.是用test1的jvm还是为test2重新开启一个jvm请高手赐教!不胜感激~~ 解决方案 解决方案二:用ant的junit任务来跑junit测试,<junitfork="true".../>就会脱离ant的jvm而单独开一个jvm,

有关框架的两个小问题,请高手赐教

问题描述 近日回头看看框架,一些东西模糊了,还请清楚的朋友开示:1.spring的核心是beanfactory,它主要是通过.xml文件的配置来创建对象,协调对象之间的关系等,我的问题:"假如一个对象内需要创建10其它对象(有的属于类的成员对象,有的属于方法对象),那是否这10个对象都最好配置在.xml中,如果不是,那哪些需要配置,哪些不要配置?这其中有什么规律?"比如下面这个类:publicclassUserDAO{privateDataSourcedataSource;public