电子表格包含5列8行。第一行是工作表的标题。我必须阅读细胞的所有数据。最后一列包含空白值。 C#无法读取第7行和第8行的第5列。下面的代码返回数组索引超出绑定的异常。
行[7] .Descendants()。ElementAt的(4)
我发现第7行和第8行的第5列的字体大小与另一行不同。如果我更改了字体大小,那么它工作正常。我对这种不自然的行为没有任何解释。
请在下面找到代码库
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);
}
}
电子表格如下所示 - enter image description here
根据表单,我在第3行第4列出错。
答案 0 :(得分:0)
尝试此操作以获取值
#if