/*********************************** * 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; }
// 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 } }
/*********************************** * INTERNAL METHODS ************************************/ internal HeaderFooter Clone(Worksheet worksheet) { HeaderFooter newHeaderFooter = new HeaderFooter(worksheet, OddHeader, OddFooter, AlignWithMargins); return newHeaderFooter; }