web-dev-qa-db-fra.com

Exception de HRESULT: 0x8002000B (DISP_E_BADINDEX) pour System.Runtime.InteropServices.COMException

J'ai une partie du code qui essaie d'exporter des données (de la base de données) vers Excel. Lorsque j'essaie d'exécuter cette tâche, cela génère cette erreur:

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

Code qui génère cette erreur:

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");

La ligne de code sur:

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

génère l'erreur susmentionnée. Une idée comment résoudre ce problème?

12
Somdip Dey

"Sheet3" était manquant dans le fichier WorksOrder_Template.xls et par conséquent, lorsque le code a tenté de récupérer le "Sheet3", il a généré l'erreur.

10
Somdip Dey