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

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

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

Pour ajouter des en-têtes et pieds de page en temps réel, Aspose.Cells pour Python via .NET fournit des appels API spéciaux et des commandes de script pour formater les en-têtes et 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”.

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

La classe PageSetup fournit deux méthodes, set_header et set_footer, 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.
from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Instantiating a Workbook object
excel = Workbook()
# Obtaining the reference of the PageSetup of the worksheet
pageSetup = excel.worksheets[0].page_setup
# Setting worksheet name at the left section of the header
pageSetup.set_header(0, "&A")
# Setting current date and current time at the centeral section of the header
# and changing the font of the header
pageSetup.set_header(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.set_header(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.set_footer(0, "Hello World! &\"Courier New\"&14 123")
# Setting the current page number at the central section of the footer
pageSetup.set_footer(1, "&P")
# Setting page count at the right section of footer
pageSetup.set_footer(2, "&N")
# Save the Workbook.
excel.save("SetHeadersAndFooters_out.xls")

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

La classe PageSetup possède deux méthodes supplémentaires, set_header_picture et set_footer_picture, 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.
from aspose.cells import Workbook
import bytearray
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Creating a Workbook object
workbook = Workbook()
# Creating a string variable to store the url of the logo/picture
logo_url = dataDir + "aspose-logo.jpg"
# Creating the instance of the FileStream object to open the logo/picture in the stream
inFile = open(logo_url, "rb")
# Instantiating the byte array of FileStream object's size
binaryData = bytearray(utils.filesize(inFile))
# Reads a block of bytes from the stream and writes data in a given buffer of byte array.
bytesRead = inFile.readinto(binaryData)
# Creating a PageSetup object to get the page settings of the first worksheet of the workbook
pageSetup = workbook.worksheets[0].page_setup
# Setting the logo/picture in the central section of the page header
pageSetup.set_header_picture(1, binaryData)
# Setting the script for the logo/picture
pageSetup.set_header(1, "&G")
# Setting the Sheet's name in the right section of the page header with the script
pageSetup.set_header(2, "&A")
# Saving the workbook
workbook.save(dataDir + "InsertImageInHeaderFooter_out.xls")
# Closing the FileStream object
inFile.close()