private static List <DefinedNameData> GetDefinedNames(WorkbookPart wbPart) { DefinedNames definedNames = wbPart.Workbook.DefinedNames; List <DefinedNameData> definedNameDataSet = new List <DefinedNameData>(definedNames.Count()); DefinedNameData definedNameData; string sheetName, columnName; uint rowIndex; string[] referenceSegments; foreach (DefinedName dn in definedNames) { // assume none of these defined names are cell range (e.g. "A1", not "A1:B1"). referenceSegments = dn.Text.Split('!'); sheetName = referenceSegments[0].Trim('\''); referenceSegments = referenceSegments[1].Split('$'); columnName = referenceSegments[1]; rowIndex = uint.Parse(referenceSegments[2]); definedNameData = new DefinedNameData(dn.Name, sheetName, columnName, rowIndex); definedNameDataSet.Add(definedNameData); } return(definedNameDataSet); }