来自HRESULT的exception:0x8002000B(DISP_E_BADINDEX)for System.Runtime.InteropServices.COMException

我有一部分代码试图将数据(从数据库)导出到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文件中缺less“Sheet3”,因此,当代码尝试读取“Sheet3”时,会生成错误。