In today's data processing world, it is very important to manage document formatting skillfully. The Headers and Footers are the areas at the top and bottom of each page of a document. They are an integral part of any report or document. In this article, we will look at how to create headers and footers using the SautinSoft.Excel library in C# and .NET.
Step-by-step guide:
Полный код
using System;
using System.Collections.Generic;
using System.IO;
using SautinSoft.Excel;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Get your free key here:
// https://sautinsoft.com/start-for-free/
CreateHeadersFooters();
}
/// <summary>
/// Create Headers and Footers in Excel Document.
/// </summary>
/// <remarks>
/// Details: https://www.sautinsoft.com/products/excel/help/net/developer-guide/create-headers-footers-xlsx-document-net-csharp-vb.php
/// </remarks>
static void CreateHeadersFooters()
{
string outFile = @"..\..\..\example.xlsx";
// The file format is detected automatically from the file extension: ".xlsx".
ExcelDocument excel = new ExcelDocument();
// Add an empty worksheet to the file
excel.Worksheets.Add("Page 1");
var worksheet = excel.Worksheets["Page 1"];
// Add different headers
worksheet.HeadersFooters.Header = "Header";
worksheet.HeadersFooters.FirstHeader = "FirstHeader";
worksheet.HeadersFooters.EvenHeader = "EvenHeader";
// Add different footers
worksheet.HeadersFooters.Footer = "Footer";
worksheet.HeadersFooters.FirstFooter = "FirstFooter";
worksheet.HeadersFooters.EvenFooter = "EvenFooter";
// Set the settings for the first or even headers and footers
worksheet.HeadersFooters.DifferentFirst = true;
worksheet.HeadersFooters.DifferentOddEven= true;
// Sample data
List<List<object>> data = new List<List<object>>() {
new List<object> { "Date", "Product", "Category", "Quantity", "Unit Price", "Total Cost" },
new List<object> { new DateOnly(2024, 12, 1).ToString(), "Apples", "Fruits", 15, 1.2, "=D2*E2" },
new List<object> { new DateOnly(2024, 12, 1).ToString(), "Bread", "Bakery", 10, 0.8, "=D3*E3" },
new List<object> { new DateOnly(2024, 12, 2).ToString(), "Milk", "Dairy", 20, 1.5, "=D4*E4" },
new List<object> { new DateOnly(2024, 12, 2).ToString(), "Oranges", "Fruits", 10, 1.8, "=D5*E5" },
new List<object> { new DateOnly(2024, 12, 3).ToString(), "Chocolates", "Sweets", 5, 2.5, "=D6*E6" },
new List<object> { new DateOnly(2024, 12, 3).ToString(), "Potatoes", "Vegetables", 25, 0.5, "=D7*E7" },
};
// Inserting data
int i = 1;
foreach (var row in data)
{
int j = 0;
foreach (var item in row)
{
worksheet.Cells["ABCDEFGHIJKLMNOPQRSTUVWXYZ"[j] + i.ToString()].Value = item;
j++;
}
i++;
}
// Saving the excel document
excel.Save(outFile);
// Important for Linux: Install MS Fonts
// sudo apt install ttf-mscorefonts-installer -y
// Open the result for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
}
}
}
Option Infer On
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports SautinSoft.Excel
Namespace Example
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Get your free key here:
' https://sautinsoft.com/start-for-free/
CreateHeadersFooters()
End Sub
''' <summary>
''' Create Headers and Footers in Excel Document.
''' </summary>
''' <remarks>
''' Details: https://www.sautinsoft.com/products/excel/help/net/developer-guide/create-headers-footers-xlsx-document-net-csharp-vb.php
''' </remarks>
Private Shared Sub CreateHeadersFooters()
Dim outFile As String = "..\..\..\example.xlsx"
' The file format is detected automatically from the file extension: ".xlsx".
Dim excel As New ExcelDocument()
' Add an empty worksheet to the file
excel.Worksheets.Add("Page 1")
Dim worksheet = excel.Worksheets("Page 1")
' Add different headers
worksheet.HeadersFooters.Header = "Header"
worksheet.HeadersFooters.FirstHeader = "FirstHeader"
worksheet.HeadersFooters.EvenHeader = "EvenHeader"
' Add different footers
worksheet.HeadersFooters.Footer = "Footer"
worksheet.HeadersFooters.FirstFooter = "FirstFooter"
worksheet.HeadersFooters.EvenFooter = "EvenFooter"
' Set the settings for the first or even headers and footers
worksheet.HeadersFooters.DifferentFirst = True
worksheet.HeadersFooters.DifferentOddEven= True
' Sample data
Dim data As New List(Of List(Of Object))() _
From {
New List(Of Object) From {"Date", "Product", "Category", "Quantity", "Unit Price", "Total Cost"},
New List(Of Object) From {(New DateOnly(2024, 12, 1)).ToString(), "Apples", "Fruits", 15, 1.2, "=D2*E2"},
New List(Of Object) From {(New DateOnly(2024, 12, 1)).ToString(), "Bread", "Bakery", 10, 0.8, "=D3*E3"},
New List(Of Object) From {(New DateOnly(2024, 12, 2)).ToString(), "Milk", "Dairy", 20, 1.5, "=D4*E4"},
New List(Of Object) From {(New DateOnly(2024, 12, 2)).ToString(), "Oranges", "Fruits", 10, 1.8, "=D5*E5"},
New List(Of Object) From {(New DateOnly(2024, 12, 3)).ToString(), "Chocolates", "Sweets", 5, 2.5, "=D6*E6"},
New List(Of Object) From {(New DateOnly(2024, 12, 3)).ToString(), "Potatoes", "Vegetables", 25, 0.5, "=D7*E7"}
}
' Inserting data
Dim i As Integer = 1
For Each row In data
Dim j As Integer = 0
For Each item In row
worksheet.Cells("ABCDEFGHIJKLMNOPQRSTUVWXYZ".Chars(j) + i.ToString()).Value = item
j += 1
Next item
i += 1
Next row
' Saving the excel document
excel.Save(outFile)
' Important for Linux: Install MS Fonts
' sudo apt install ttf-mscorefonts-installer -y
' Open the result for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: