Пример #1
0
        private void ResolveNamedRangeReferences()
        {
            int printTitleIndex = -1;
            int i = -1;

            foreach (NamedRange nr in NamedRanges)
            {
                i++;

                if (nr.Name == "Print_Titles")
                {
                    FormulaParser.ParsePrintHeaders(nr.Worksheet, nr.Range.UnresolvedRangeReference);

                    printTitleIndex = i;
                }
                else
                {
                    Worksheet ws = nr.Worksheet ?? this[0];

                    nr.Range.ParseUnresolvedReference(ws[0, 0]);

                    if (nr.Name == "_FilterDatabase")
                    {
                        ws.AutoFilter = true;
                    }

                    if (nr.Name == "Print_Area")
                    {
                        ws.PrintArea = true;
                    }
                }
            }

            if (printTitleIndex != -1)
            {
                NamedRanges.RemoveAt(printTitleIndex);
            }
        }