Esempio n. 1
0
        public static string Name(this BuiltInStyleIndex builtInStyle)
        {
            switch (builtInStyle)
            {
            case BuiltInStyleIndex.Normal:
                return("Normal");

            case BuiltInStyleIndex.RowLevel:
                return("RowLevel");

            case BuiltInStyleIndex.ColumnLevel:
                return("ColLevel");

            case BuiltInStyleIndex.Comma:
                return("Comma");

            case BuiltInStyleIndex.Currency:
                return("Currency");

            case BuiltInStyleIndex.Percent:
                return("Percent");

            case BuiltInStyleIndex.Comma0:
                return("Comma [0]");

            case BuiltInStyleIndex.Currency0:
                return("Currency [0]");

            case BuiltInStyleIndex.HyperLink:
                return("Hyperlink");

            case BuiltInStyleIndex.FollowedHyperLink:
                return("Followed Hyperlink");

            case BuiltInStyleIndex.Note:
                return("Note");

            case BuiltInStyleIndex.WarningText:
                return("Warning Text");

            case BuiltInStyleIndex.Title:
                return("Title");

            case BuiltInStyleIndex.Heading1:
                return("Heading 1");

            case BuiltInStyleIndex.Heading2:
                return("Heading 2");

            case BuiltInStyleIndex.Heading3:
                return("Heading 3");

            case BuiltInStyleIndex.Heading4:
                return("Heading 4");

            case BuiltInStyleIndex.Input:
                return("Input");

            case BuiltInStyleIndex.Output:
                return("Output");

            case BuiltInStyleIndex.Calculation:
                return("Calculation");

            case BuiltInStyleIndex.CheckCell:
                return("Check Cell");

            case BuiltInStyleIndex.LinkedCell:
                return("Linked Cell");

            case BuiltInStyleIndex.Total:
                return("Total");

            case BuiltInStyleIndex.Good:
                return("Good");

            case BuiltInStyleIndex.Bad:
                return("Bad");

            case BuiltInStyleIndex.Neutral:
                return("Neutral");

            case BuiltInStyleIndex.Accent1:
                return("Accent1");

            case BuiltInStyleIndex.Accent1_20:
                return("20% - Accent1");

            case BuiltInStyleIndex.Accent1_40:
                return("40% - Accent1");

            case BuiltInStyleIndex.Accent1_60:
                return("60% - Accent1");

            case BuiltInStyleIndex.Accent2:
                return("Accent2");

            case BuiltInStyleIndex.Accent2_20:
                return("20% - Accent2");

            case BuiltInStyleIndex.Accent2_40:
                return("40% - Accent2");

            case BuiltInStyleIndex.Accent2_60:
                return("60% - Accent2");

            case BuiltInStyleIndex.Accent3:
                return("Accent3");

            case BuiltInStyleIndex.Accent3_20:
                return("20% - Accent3");

            case BuiltInStyleIndex.Accent3_40:
                return("40% - Accent3");

            case BuiltInStyleIndex.Accent3_60:
                return("60% - Accent3");

            case BuiltInStyleIndex.Accent4:
                return("Accent4");

            case BuiltInStyleIndex.Accent4_20:
                return("20% - Accent4");

            case BuiltInStyleIndex.Accent4_40:
                return("40% - Accent4");

            case BuiltInStyleIndex.Accent4_60:
                return("60% - Accent4");

            case BuiltInStyleIndex.Accent5:
                return("Accent5");

            case BuiltInStyleIndex.Accent5_20:
                return("20% - Accent5");

            case BuiltInStyleIndex.Accent5_40:
                return("40% - Accent5");

            case BuiltInStyleIndex.Accent5_60:
                return("60% - Accent5");

            case BuiltInStyleIndex.Accent6:
                return("Accent6");

            case BuiltInStyleIndex.Accent6_20:
                return("20% - Accent6");

            case BuiltInStyleIndex.Accent6_40:
                return("40% - Accent6");

            case BuiltInStyleIndex.Accent6_60:
                return("60% - Accent6");

            case BuiltInStyleIndex.ExplanatoryText:
                return("Explanatory Text");
            }
            return(string.Empty);
        }
Esempio n. 2
0
 private Task InitBuiltInExcelStyleCollections()
 {
     _builtInStyls.Clear();
     return(Task.Run(() =>
     {
         // hdt,内容转为嵌入资源
         using (Stream s = typeof(BuiltInExcelStyles).Assembly.GetManifestResourceStream("Dt.Xls.BuiltInStyles.xml"))
         {
             s.Seek(0L, (SeekOrigin)SeekOrigin.Begin);
             XDocument document = XDocument.Load(s);
             List <ExcelFont> fonts = new List <ExcelFont>();
             List <Tuple <FillPatternType, ExcelColor, ExcelColor> > fills = new List <Tuple <FillPatternType, ExcelColor, ExcelColor> >();
             List <ExcelBorder> borders = new List <ExcelBorder>();
             List <ExtendedFormat> list4 = new List <ExtendedFormat>();
             Dictionary <int, ExcelNumberFormat> dictionary = new Dictionary <int, ExcelNumberFormat>();
             using (IEnumerator <XElement> enumerator = document.Elements().GetEnumerator())
             {
                 while (enumerator.MoveNext())
                 {
                     XElement element = enumerator.Current;
                     if (element.Name.LocalName == "styleSheet")
                     {
                         using (IEnumerator <XElement> enumerator2 = element.Elements().GetEnumerator())
                         {
                             while (enumerator2.MoveNext())
                             {
                                 XElement element2 = enumerator2.Current;
                                 if (element2.Name.LocalName == "numFmts")
                                 {
                                     using (IEnumerator <XElement> enumerator3 = element2.Elements().GetEnumerator())
                                     {
                                         while (enumerator3.MoveNext())
                                         {
                                             XElement element3 = enumerator3.Current;
                                             int id = element3.GetAttributeValueOrDefaultOfInt32Type("numFmtId", -2147483648);
                                             if (id >= 0)
                                             {
                                                 string code = element3.GetAttributeValueOrDefaultOfStringType("formatCode", null);
                                                 dictionary.Add(id, new ExcelNumberFormat(id, code));
                                             }
                                         }
                                         continue;
                                     }
                                 }
                                 if (element2.Name.LocalName == "fonts")
                                 {
                                     using (IEnumerator <XElement> enumerator4 = element2.Elements().GetEnumerator())
                                     {
                                         while (enumerator4.MoveNext())
                                         {
                                             XElement child = enumerator4.Current;
                                             if (child.Name.LocalName == "font")
                                             {
                                                 fonts.Add(XlsxReader.ReadFont(child));
                                             }
                                         }
                                         continue;
                                     }
                                 }
                                 if (element2.Name.LocalName == "fills")
                                 {
                                     using (IEnumerator <XElement> enumerator5 = element2.Elements().GetEnumerator())
                                     {
                                         while (enumerator5.MoveNext())
                                         {
                                             XElement element5 = enumerator5.Current;
                                             if (element5.Name.LocalName == "fill")
                                             {
                                                 fills.Add(XlsxReader.ReadFillPattern(element5.Element(XlsxReader.XNames.patternFill)));
                                             }
                                         }
                                         continue;
                                     }
                                 }
                                 if (element2.Name.LocalName == "borders")
                                 {
                                     using (IEnumerator <XElement> enumerator6 = element2.Elements().GetEnumerator())
                                     {
                                         while (enumerator6.MoveNext())
                                         {
                                             XElement element6 = enumerator6.Current;
                                             if (element6.HasElements)
                                             {
                                                 ExcelBorder border = new ExcelBorder {
                                                     Left = XlsxReader.GetBorder(element6, "left"),
                                                     Right = XlsxReader.GetBorder(element6, "right"),
                                                     Top = XlsxReader.GetBorder(element6, "top"),
                                                     Bottom = XlsxReader.GetBorder(element6, "bottom")
                                                 };
                                                 borders.Add(border);
                                             }
                                         }
                                         continue;
                                     }
                                 }
                                 if (element2.Name.LocalName == "cellStyleXfs")
                                 {
                                     using (IEnumerator <XElement> enumerator7 = element2.Elements().GetEnumerator())
                                     {
                                         while (enumerator7.MoveNext())
                                         {
                                             XElement node = enumerator7.Current;
                                             if (node.Name.LocalName == "xf")
                                             {
                                                 list4.Add(XlsxReader.ReadXF(node, fonts, fills, borders, true));
                                             }
                                         }
                                         continue;
                                     }
                                 }
                                 if (element2.Name.LocalName == "cellStyles")
                                 {
                                     using (IEnumerator <XElement> enumerator8 = element2.Elements().GetEnumerator())
                                     {
                                         while (enumerator8.MoveNext())
                                         {
                                             XElement element8 = enumerator8.Current;
                                             string str2 = element8.GetAttributeValueOrDefaultOfStringType("name", null);
                                             int num2 = element8.GetAttributeValueOrDefaultOfInt32Type("xfId", 0);
                                             ExtendedFormat format = list4[num2];
                                             format.IsStyleFormat = true;
                                             BuiltInStyleIndex index = (BuiltInStyleIndex)element8.GetAttributeValueOrDefaultOfInt32Type("builtinId", 0);
                                             ExcelStyle style = new ExcelStyle {
                                                 Name = str2,
                                                 Format = format.Clone()
                                             };
                                             if ((style.Format.NumberFormat == null) && dictionary.ContainsKey(style.Format.NumberFormatIndex))
                                             {
                                                 style.Format.NumberFormat = dictionary[style.Format.NumberFormatIndex];
                                                 style.Format.NumberFormatIndex = 0;
                                             }
                                             style.IsCustomBuiltIn = false;
                                             style.BuiltInStyle = index;
                                             style.Category = style.GetBuiltInStyleCategory();
                                             _builtInStyls.Add(style);
                                         }
                                         continue;
                                     }
                                 }
                             }
                             continue;
                         }
                     }
                 }
             }
         }
     }));
 }