尝试在c#中更改工作表名称时出现奇怪的错误

这里是抛出错误的代码:

string[] sheetNames = new string[] {"Raw"}; for (int s = 1; s <= sheetNames.Count(); s++) { Excel.Worksheet newSheet = new Excel.Worksheet(); newSheet.Name = sheetNames[s]; newWorkbook.Worksheets.Add(newSheet); } 

我得到一个Unable to cast COM object of type 'WorksheetClass' to interface type '_Worksheeet'exception。 我不知道这意味着什么。

感谢所有的帮助

您创buildWorksheet对象的方式是问题。 您需要首先定义一个Application对象,然后调用如下所示: Application.WorkSheets.Add()示例:

 Excel.Application xlApp = new Excel.Application(); xlApp.Visible = true; Excel.Workbook xlWb = xlApp.Workbooks.Add() as Excel.Workbook; Excel.Worksheet xlSheet = xlWb.Sheets[1] as Excel.Worksheet;