c# - HRESULT 异常 : 0x8002000B (DISP_E_BADINDEX) for System. Runtime.InteropServices.COMException

标签 c# .net excel interop excel-interop

我有一部分代码试图将数据(从数据库)导出到 Excel。当我尝试执行此任务时,它会生成此错误:

System.Runtime.InteropServices.COMException occurred
Additional information: Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))

产生此错误的代码:

string ExcelFileName = RootFolder + "\\" + "Work_Sheet.xls";
File.Copy(RootFolder + "\\" + "WorksOrder_Template.xls", ExcelFileName);
Excel.Workbook xlWorkBook;
xlWorkBook = excelApp.Workbooks.Open(ExcelFileName, 0, false, Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, false, true, Type.Missing);
Excel.Worksheet Page2;
Excel.Worksheet Page3;
Page2 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item("Sheet2");
Page3 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item("Sheet3");

代码行在:

Page3 = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item("Sheet3");

正在生成上述错误。知道如何解决这个问题吗?

最佳答案

WorksOrder_Template.xls 文件中缺少“Sheet3”,因此,当代码尝试获取“Sheet3”时,它生成了错误。

关于c# - HRESULT 异常 : 0x8002000B (DISP_E_BADINDEX) for System. Runtime.InteropServices.COMException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28830758/

相关文章:

c# - 安装 AspNet5RC1 后,无法再在任何以前/新的 MVC 项目中打开 cshtml 文件

.net - 使用真实IP加密发送到托管在服务器上的WCF服务的消息

c# - .Net程序集的文档报告

excel - 如何以编程方式查找所谓的宏

regex - 如何在 Excel VBA 中使用正则表达式突出显示温度字符串

c# - 单元测试 Blazor RenderFragment 元素

c# - 告诉任务等到计时器停止

c# - 文件正在通过 visual studio 下载,而不是通过 .exe 下载

excel - 根据条件循环和复制范围

c# - 如何让 IOptionsMonitor<T> 从 Azure Windows Server VM 上托管的正在运行的 .NET Core 2.2 应用程序获取最新配置值?