无法读取C#中的不同字体的电子表格单元格

电子表格包含5列8行。 第一行是表单的标题。 我必须读取单元格的所有数据。 最后一列包含空白值。 C#无法读取第7和第8行的第5列。 下面的代码返回数组索引超出界限的exception。

行[7] .Descendants()。ElementAt的(4)

我发现第七和第八行第五列的字体大小是不同的。 如果我已经改变了字体大小,那么它工作正常。 我对这种不自然的行为没有任何解释。

请在下面find代码库

using (SpreadsheetDocument spreadSheetDocument = SpreadsheetDocument.Open(filePath, false)) { WorkbookPart workbookPart = spreadSheetDocument.WorkbookPart; var workBookSheet = spreadSheetDocument.WorkbookPart.Workbook.GetFirstChild<Sheets>().Elements<Sheet>().Where(s => s.Name.ToString() == "Feuil1").FirstOrDefault(); if (workBookSheet != null) { string relationshipId = workBookSheet.Id.Value; WorksheetPart worksheetPart = (WorksheetPart)spreadSheetDocument.WorkbookPart.GetPartById(relationshipId); Worksheet workSheet = worksheetPart.Worksheet; SheetData sheetData = workSheet.GetFirstChild<SheetData>(); IEnumerable<Row> rows = sheetData.Descendants<Row>(); var data = rows.ElementAt(2).Descendants<Cell>().ElementAt(4); } } 

电子表格如下所示 – 在这里input图片说明

根据表,我有第3行第4列的错误。

试试这个来获得价值

 string val = (Range)xlWorkSheet.Cells[7, 5]).Value2.ToString();