Пример #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);
            }
        }
Пример #2
0
        public override int GetHashCode()
        {
            int hash = 3;

            unchecked
            {
                hash = (hash * 7) + DefinedIn.GetHashCode();
                hash = (hash * 7) + NamedRanges.GetHashCode();
            }
            return(hash);
        }
Пример #3
0
        public override bool Equals(object obj)
        {
            var other = obj as Context;

            if (ReferenceEquals(other, this))
            {
                return(true);
            }
            if (ReferenceEquals(other, null))
            {
                return(false);
            }
            return(DefinedIn.Equals(other.DefinedIn) && NamedRanges.Equals(other.NamedRanges));
        }
Пример #4
0
 public IXLNamedRange NamedRange(String rangeName)
 {
     if (rangeName.Contains("!"))
     {
         var split  = rangeName.Split('!');
         var first  = split[0];
         var wsName = first.StartsWith("'") ? first.Substring(1, first.Length - 2) : first;
         var name   = split[1];
         if (TryGetWorksheet(wsName, out IXLWorksheet ws))
         {
             var range = ws.NamedRange(name);
             return(range ?? NamedRange(name));
         }
         return(null);
     }
     return(NamedRanges.NamedRange(rangeName));
 }
Пример #5
0
 public Workbook()
 {
     _Properties = new DocumentProperties();
     _ExcelWorkbook = new ExcelWorkbookDetails();
     _SheetStyles = new SheetStyles();
     _Worksheets = new ExcelWorksheets();
     _Names = new NamedRanges();
 }