无法读取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();