using System;
using ClosedXML.Excel;
namespace ClosedXML_Examples.PageSetup
{
public class HeaderFooters : IXLExample
{
#region Methods
// Public
public void Create(String filePath)
{
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Headers and Footers");
// Simple left header to be placed on all pages
ws.PageSetup.Header.Left.AddText("Created with ClosedXML");
// Using various font decorations for the right header on the first page only
// Here we show different methods for setting font decorations.
// Set single font decorations immediately
ws.PageSetup.Header.Right.AddText("The ", XLHFOccurrence.FirstPage).SetBold();
ws.PageSetup.Header.Right.AddText("First ", XLHFOccurrence.FirstPage).SetFontColor(XLColor.Red);
// Use the IXLRichText returned by the AddText(...) method to later on modify the font
var richText = ws.PageSetup.Header.Right.AddText("Colorful ", XLHFOccurrence.FirstPage);
richText.FontColor = XLColor.Blue;
richText.Underline = XLFontUnderlineValues.Double;
// Set multiple font decorations chained
ws.PageSetup.Header.Right.AddText("Page", XLHFOccurrence.FirstPage)
.SetBold()
.SetItalic()
.SetFontName("Broadway");
// Using predefined header/footer text:
// Let's put the full path to the file on the right footer of every odd page:
ws.PageSetup.Footer.Right.AddText(XLHFPredefinedText.FullPath, XLHFOccurrence.OddPages);
// Let's put the current page number and total pages on the center of every footer:
ws.PageSetup.Footer.Center.AddText(XLHFPredefinedText.PageNumber, XLHFOccurrence.AllPages);
ws.PageSetup.Footer.Center.AddText(" / ", XLHFOccurrence.AllPages);
ws.PageSetup.Footer.Center.AddText(XLHFPredefinedText.NumberOfPages, XLHFOccurrence.AllPages);
// Don't align headers and footers with the margins
ws.PageSetup.AlignHFWithMargins = false;
// Don't scale headers and footers with the document
ws.PageSetup.ScaleHFWithDocument = false;
workbook.SaveAs(filePath);
}
// Private
// Override
#endregion
}
}