Пример #1
0
        /***********************************
         * DAL METHODS
         ************************************/
        // Read
        internal static HeaderFooter ReadHeaderFooterFromReader(CustomOpenXmlReader reader, Worksheet worksheet)
        {
            HeaderFooter headerFooter = new HeaderFooter(worksheet);

            foreach (CustomOpenXmlAttribute attribute in reader.Attributes)
            {
                switch (attribute.LocalName)
                {
                    case "alignWithMargins":
                        headerFooter.AlignWithMargins = attribute.GetBoolValue();
                        break;
                    default:
                        throw new Exception(string.Format("HeaderFooter attribute {0} not coded", attribute.LocalName));
                }
            }

            while (reader.ReadToEndElement<OpenXmlSpreadsheet.HeaderFooter>())
            {
                if (reader.IsStartElementOfType<OpenXmlSpreadsheet.OddHeader>())
                    headerFooter.OddHeader = reader.GetText();
                else if (reader.IsStartElementOfType<OpenXmlSpreadsheet.OddFooter>())
                    headerFooter.OddFooter = reader.GetText();
            }

            return headerFooter;
        }
Пример #2
0
        // Write
        internal static void WriteHeaderFooterToWriter(CustomOpenXmlWriter<OpenXmlPackaging.WorksheetPart> writer, HeaderFooter headerFooter)
        {
            if (headerFooter.HasValue())
            {
                writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.HeaderFooter());
                if (!headerFooter.AlignWithMargins) writer.WriteAttribute("alignWithMargins", headerFooter.AlignWithMargins);

                if (headerFooter.OddHeader != "")
                {
                    writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.OddHeader());
                    writer.WriteText(headerFooter.OddHeader);
                    writer.WriteEndElement();   // OddHeader
                }
                if (headerFooter.OddFooter != "")
                {
                    writer.WriteOpenXmlElement(new OpenXmlSpreadsheet.OddFooter());
                    writer.WriteText(headerFooter.OddFooter);
                    writer.WriteEndElement();   // OddFooter
                }

                writer.WriteEndElement();   // HeaderFooter
            }
        }
Пример #3
0
 /***********************************
  * INTERNAL METHODS
  ************************************/
 internal HeaderFooter Clone(Worksheet worksheet)
 {
     HeaderFooter newHeaderFooter = new HeaderFooter(worksheet, OddHeader, OddFooter, AlignWithMargins);
     return newHeaderFooter;
 }