Définir des en têtes et des pieds de page

Définition des en-têtes et des pieds de page

Aspose.Cells vous permet d’ajouter des en-têtes et des pieds de page aux feuilles de calcul à l’exécution, mais nous recommandons de définir manuellement les en-têtes et les pieds de page dans un fichier préconçu pour l’impression. Vous pouvez utiliser Microsoft Excel comme un outil graphique pour définir les en-têtes et les pieds de page afin de gagner du temps et des efforts de développement. Aspose.Cells peut importer le fichier et enregistrer les réglages.

Pour ajouter des en-têtes et des pieds de page à l’exécution, Aspose.Cells fournit des appels d’API spéciaux et des commandes de script pour formater les en-têtes et les pieds de page.

Commandes de script

Les commandes de script sont des commandes spéciales qui vous permettent de définir le formatage des en-têtes et des pieds de page.

Commandes de script Description
&P Le numéro de la page actuelle
&G Une image
&N Le nombre total de pages
&D La date actuelle
&T L’heure actuelle
&A Le nom de la feuille de calcul
&F Le nom du fichier sans son chemin d’accès
&"<FontName>" Représente un nom de police. Par exemple : &“Arial”
&"<FontName>, <FontStyle>" Représente un nom de police avec un style. Par exemple : &“Arial, Gras”
&<FontSize> Représente la taille de la police. Par exemple : “&14abc”. Mais, si cette commande est suivie d’un nombre ordinaire à imprimer dans l’en-tête, cela doit être séparé d’un caractère d’espace de la taille de la police. Par exemple : “&14 123”.

Définir les en-têtes et les pieds de page

La classe PageSetup fournit deux méthodes, SetHeader et SetFooter, utilisées pour ajouter un en-tête et un pied de page à une feuille de calcul. Ces méthodes ne prennent que deux paramètres :

  • Section – la section où l’en-tête ou le pied de page doit être placé. Il existe trois sections : gauche, centre et droite, représentées respectivement par 0, 1 et 2.
  • Script – le script à utiliser pour l’en-tête ou le pied de page. Ce script contient des commandes de script pour formater les en-têtes ou les pieds de page.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Instantiating a Workbook object
Workbook excel = new Workbook();
// Obtaining the reference of the PageSetup of the worksheet
PageSetup pageSetup = excel.Worksheets[0].PageSetup;
// Setting worksheet name at the left section of the header
pageSetup.SetHeader(0, "&A");
// Setting current date and current time at the centeral section of the header
// and changing the font of the header
pageSetup.SetHeader(1, "&\"Times New Roman,Bold\"&D-&T");
// Setting current file name at the right section of the header and changing the
// font of the header
pageSetup.SetHeader(2, "&\"Times New Roman,Bold\"&12&F");
// Setting a string at the left section of the footer and changing the font
// of a part of this string ("123")
pageSetup.SetFooter(0, "Hello World! &\"Courier New\"&14 123");
// Setting the current page number at the central section of the footer
pageSetup.SetFooter(1, "&P");
// Setting page count at the right section of footer
pageSetup.SetFooter(2, "&N");
// Save the Workbook.
excel.Save("SetHeadersAndFooters_out.xls");

Insérer une image dans un en-tête ou un pied de page

La classe PageSetup possède deux méthodes supplémentaires, SetHeaderPicture et SetFooterPicture, utilisées pour ajouter des images dans l’en-tête et le pied de page. Ces méthodes prennent les paramètres :

  • Section – la section d’en-tête ou de pied de page où l’image sera placée. Il existe trois sections, left, center et right, représentées respectivement par les valeurs 0, 1 et 2.
  • Tableau de bytes – les données graphiques (les données binaires doivent être écrites dans le buffer d’un tableau de bytes).

Après l’exécution du code ci-dessous et l’ouverture du fichier, vérifiez l’en-tête de la feuille de calcul en :

  1. Dans le menu Fichier, sélectionnez Mise en page. Une boîte de dialogue s’affichera.
  2. Sélectionnez l’onglet En-tête/Pied de page.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Creating a Workbook object
Workbook workbook = new Workbook();
// Creating a string variable to store the url of the logo/picture
string logo_url = dataDir + "aspose-logo.jpg";
// Declaring a FileStream object
FileStream inFile;
// Declaring a byte array
byte[] binaryData;
// Creating the instance of the FileStream object to open the logo/picture in the stream
inFile = new System.IO.FileStream(logo_url, System.IO.FileMode.Open, System.IO.FileAccess.Read);
// Instantiating the byte array of FileStream object's size
binaryData = new Byte[inFile.Length];
// Reads a block of bytes from the stream and writes data in a given buffer of byte array.
long bytesRead = inFile.Read(binaryData, 0, (int)inFile.Length);
// Creating a PageSetup object to get the page settings of the first worksheet of the workbook
PageSetup pageSetup = workbook.Worksheets[0].PageSetup;
// Setting the logo/picture in the central section of the page header
pageSetup.SetHeaderPicture(1, binaryData);
// Setting the script for the logo/picture
pageSetup.SetHeader(1, "&G");
// Setting the Sheet's name in the right section of the page header with the script
pageSetup.SetHeader(2, "&A");
// Saving the workbook
workbook.Save(dataDir + "InsertImageInHeaderFooter_out.xls");
//Closing the FileStream object
inFile.Close();