Example #1
0
        private static void WriteStylesToWriter(CustomOpenXmlWriter<OpenXmlPackaging.WorkbookStylesPart> writer, Styles styles)
        {
            writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.Stylesheet());

            if (styles._numberFormats != null) NumberFormatCollection.WriteNumberFormatsToWriter(writer, styles.NumberFormats);
            if (styles._fonts != null) FontCollection.WriteFontsToWriter(writer, styles.Fonts);
            if (styles._fills != null) FillCollection.WriteFillsToWriter(writer, styles.Fills);
            if (styles._borders != null) BordersCollection.WriteBordersToWriter(writer, styles.Borders);
            if (styles._cellFormats != null) CellFormatCollection.WriteCellFormatsToWriter(writer, styles.CellFormats);
            if (styles.IndexedColors != null) Color.WriteIndexedColorsToWriter(writer, styles.IndexedColors);

            writer.WriteEndElement();   // Stylesheet
        }
Example #2
0
        /***********************************
        * DAL METHODS
        ************************************/
        // Read
        private static void ReadStylesFromStyles(Styles styles)
        {
            OpenXmlSpreadsheet.Stylesheet stylesheet = styles.Workbook.Document.WorkbookPart.WorkbookStylesPart.Stylesheet;

            using (CustomOpenXmlReader reader = CustomOpenXmlReader.Create(stylesheet))
            {
                while (reader.ReadToEndElement<OpenXmlSpreadsheet.Stylesheet>())
                {
                    if (reader.IsStartElementOfType<OpenXmlSpreadsheet.NumberingFormats>())
                        styles.NumberFormats = NumberFormatCollection.ReadNumberFormatsFromReader(reader, styles);
                    else if (reader.IsStartElementOfType<OpenXmlSpreadsheet.Fonts>())
                        styles.Fonts = FontCollection.ReadFontsFromReader(reader, styles);
                    else if (reader.IsStartElementOfType<OpenXmlSpreadsheet.Fills>())
                        styles.Fills = FillCollection.ReadFillsFromReader(reader, styles);
                    else if (reader.IsStartElementOfType<OpenXmlSpreadsheet.Borders>())
                        styles.Borders = BordersCollection.ReadBordersCollectionFromReader(reader, styles);
                    // not sure if required.
                    //else if (reader.IsStartElementOfType<OpenXmlSpreadsheet.CellStyleFormats>())
                        //cellStyleFormats = CellFormatCollection.ReadCellStyleFormatsFromReader(reader, styles);
                    else if (reader.IsStartElementOfType<OpenXmlSpreadsheet.CellFormats>())
                        styles.CellFormats = CellFormatCollection.ReadCellFormatsFromReader(reader, styles);
                    else if (reader.IsStartElementOfType<OpenXmlSpreadsheet.Colors>())
                    {
                        while (reader.ReadToEndElement<OpenXmlSpreadsheet.Colors>())
                        {
                            if (reader.IsStartElementOfType<OpenXmlSpreadsheet.IndexedColors>())
                                styles.IndexedColors = Color.ReadIndexedColorsFromReader(reader);
                        }
                    }
                }
            }
        }
Example #3
0
 // Write
 private static void SaveStyles(Styles styles)
 {
     using (CustomOpenXmlWriter<OpenXmlPackaging.WorkbookStylesPart> writer =
         new CustomOpenXmlWriter<OpenXmlPackaging.WorkbookStylesPart>(styles.Workbook.Document.WorkbookPart.WorkbookStylesPart)
     )
     {
         Styles.WriteStylesToWriter(writer, styles);
     }
 }