C# – Microsoft.Office.Interop.Excel.Sheets到Microsoft.Office.Interop.Excel.Worksheet

我想创build一个Excel文件的Worksheet数组,但我找不到正确的强制转换。

这是代码:

 Excel.Application app = new Excel.Application(); Excel.Workbook book = app.Workbooks.Open(pathFile); int numSheet = book.Worksheets.Count; Excel.Worksheet[] sheets = new Excel.Worksheet[numSheet]; sheets = (Excel.Worksheet[])book.Worksheets; 

正如你从代码中看到的那样,我尝试了这个演员,但是这是多余的。 我该如何解决这个问题?

Excel.Sheets是一个IEnumerable,可以包含图表和工作表,所以如果你使用循环,你可以得到想要的结果。

 Excel.Application app = new Excel.Application(); Excel.Workbook book = app.Workbooks.Open(pathFile); int numSheet = book.Worksheets.Count; List<Excel.Worksheet> sheets = new List<Excel.Worksheet>(); foreach(Excel.Worksheet sheet in book.Worksheets) sheets.Add(sheet); 

如果你需要它,你可以随时调用

 sheets.ToArray();