예제 #1
0
        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);
        }