C# - Microsoft.Office.Interop.Excel.Sheets 到 Microsoft.Office.Interop.Excel.Worksheet[]

C# - Microsoft.Office.Interop.Excel.Sheets to Microsoft.Office.Interop.Excel.Worksheet[]

我正在尝试创建 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();