解决C#调用Excel接口时报错,提示:Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Offi

解决C#调用Excel接口时报错,提示:Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 库没有注册。 (异常来自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。

1.运行 "regedit"命令,打开注册表
2.在注册表地址栏输入:
计算机\HKEY_CLASSES_ROOT\TypeLib
定位到 {00020813-0000-0000-C000-000000000046}这个文件夹
3.删除{00020813-0000-0000-C000-000000000046}其下的1.9文件夹(笔者电脑是Office 2013,1.8和1.9文件夹同时共存,删除较高版本)
4.再次启动程序ok

在这里插入图片描述

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
microsoft.office.interop.word.dll .dll 本文件能够完美解决系统中缺失microsoft.office.interop.word.dll文件等问题, microsoft.office.interop.word.dll文件官方下载。使用前请详细阅读microsoft.office.interop.word.dll丢失修复方法。 microsoft.office.interop.word.dll使用方法: 方法一 一、如果在运行某软件或编译程序提示缺少、找不到microsoft.office.interop.word.dll等类似提示 下载来的microsoft.office.interop.word.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。 二、将软件包下载下来后,先将其解压(一般都是rar压缩包), 然后根据您系统的情况选择X86/X64,X86为32位电脑,X64为64位电脑。 三、直接拷贝系统对应的microsoft.office.interop.word.dll到系统目录里: 1、Windows 95/98/Me系统,将microsoft.office.interop.word.dll复制到C:\Windows\System目录下。 2、Windows NT/2000系统,将microsoft.office.interop.word.dll复制到C:\WINNT\System32目录下。 3、Windows XP/WIN7/win10系统(64位系统对应64位dll文件,32位系统对应32位dll文件),将microsoft.office.interop.word.dll复制到C:\Windows\System32目录下。 4、如果您的系统是64位的请将32位的dll文件复制到C:\Windows\SysWOW64目录。 四、打开"开始-运行-输入regsvr32 microsoft.office.interop.word.dll",回车即可解决。您提供的microsoft.office.interop.word.dll对您有所帮助。 方法二 下载中心下载dll的朋友,可将下面的代码保存为“注册.bat“,放到dll文件同级目录(只要在同一个文件夹里面有这两个文件即可),双击注册.bat,就会自动完成microsoft.office.interop.word.dll注册(win98不支持)。 下面是系统与dll版本对应的注册bat文件(64位的系统对应64位dll文件,32位系统对应32位的dll文件,如果64位的系统安装32位的dll文件,请将下面的system32替换为SysWOW64即可。) 复制代码代码如下: @echo 开始注册 copy microsoft.office.interop.word.dll%windir%\system32\ regsvr32 %windir%\system32\microsoft.office.interop.word.dll /s @echo microsoft.office.interop.word.dll注册成功 @pause
### 回答1: 使用C#Microsoft.Office.Interop.Excel库可以方便地读取和操作Excel文件。下面是一个示例代码,展示如何打开Excel文件并将其内容加载到DataGridView: ```csharp using System; using System.Windows.Forms; using Microsoft.Office.Interop.Excel; namespace ExcelToDataGridView { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // 创建Excel应用程序对象 Application excelApp = new Application(); // 打开Excel文件 Workbook workbook = excelApp.Workbooks.Open(@"D:\test.xlsx"); // 获取第一个工作表 Worksheet worksheet = (Worksheet)workbook.Sheets[1]; // 获取工作表中使用的范围 Range range = worksheet.UsedRange; // 将Excel数据加载到DataGridView中 object[,] values = range.Value; for (int row = 1; row <= values.GetLength(0); row++) { dataGridView1.Rows.Add(); for (int col = 1; col <= values.GetLength(1); col++) { dataGridView1.Rows[row - 1].Cells[col - 1].Value = values[row, col]; } } // 关闭Excel文件和应用程序对象 workbook.Close(); excelApp.Quit(); } } } ``` 在上述代码中,我们首先创建了一个Excel应用程序对象,然后使用`Open`方法打开指定的Excel文件。接着,我们获取Excel文件中第一个工作表,并使用`UsedRange`属性获取工作表中实际使用的范围。最后,我们将Excel数据加载到DataGridView中,关闭Excel文件和应用程序对象。 ### 回答2: C是一种广泛使用的计算机编程语言,它的设计目标是能够提供高效、可移植、可编译的代码。C语言具有简洁、高效的特点,这使得它被广泛用于系统软件开发、嵌入式系统和设备驱动程序的编写。 C语言是由美国贝尔实验室的Dennis Ritchie开发的,于1972年首次发布。C语言在之后几年中迅速发展并得到了广泛应用,尤其是在UNIX操作系统的开发中。C语言的成功主要归功于其简洁的语法和强大的功能。 C语言的语法规范简单明了,易于理解和学习。它包含了基本的数据类型(如整数、浮点数、字符等)和控制结构(如循环、条件判断等),可以方便地表达各种算法和逻辑。C语言还提供了丰富的标准库函数,这使得开发者不需要从底层开始编写所有的功能,而是能够直接调用已有的函数进行开发。这也是C语言能够快速编写出高效程序的重要原因之一。 C语言的可移植性也是其受欢迎的重要原因之一。由于C语言的底层特性相对较少,很多操作系统和硬件平台都提供了C语言的编译器和解释器。这意味着用C语言编写的程序可以在各种平台上运行,而不需要做太多的修改。这种可移植性使得C语言成为了开发跨平台软件的重要工具。 总而言之,C语言是一种简洁、高效、可移植的计算机编程语言。它的设计目标是提供一种能够编写高效、可移植代码的工具。C语言的成功在很大程度上归功于其简洁的语法、丰富的标准库函数以及强大的可移植性。因此,C语言广泛应用于系统软件和嵌入式系统的开发,为计算机行业做出了重要的贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值