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");
正在生成上述错误。任何想法如何解决这个问题?
“ sheet3”是从worksordor_template.xls文件中缺少的,因此,当代码尝试获取'sheet3'时,它会生成错误。
这不一定适用于OP如何分配其工作簿对象,但是如果您碰巧使用
如果有一个隐藏的Excel运行实例,则可以触发此错误。 WB对象可以分配给隐藏实例的活动工作簿。不是您的意图工作簿。如果该工作簿没有具有相同名称的工作簿,则将触发此错误。 您将需要杀死隐藏的Excel实例才能实际针对活动的工作簿。然后,假设它具有您要访问的表格,则应该有效。