L'exemple de code suivant vous montre comment produire un fichier Excel au format .xlsx en utilisant le module « xlsxwriter ». Ce module ne fait pas partie de la distribution Python de base. Il est donc nécessaire de l'installer via l'outil « pip » (Pip Installs Packages).
$> sudo pip3 install xlsxwriter
Ce module est relativement simple d'utilisation, comme en atteste l'exemple de code suivant.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#!/usr/bin/python3 # -*- coding: utf-8 -*- import xlsxwriter # Les données à exporter database = ( ("James", "Bond", "007@mi6.uk"), ("Jason", "Bourne", "treadstone@cia.us"), ("Johnny", "English", "bean@mi0.uk") ) # On crée un nouveau classeur with xlsxwriter.Workbook("export.xlsx") as workbook: # On y ajoute une première feuille worksheet = workbook.add_worksheet("Spies") # On dimensionne les colonnes worksheet.set_column("A:A", 20) worksheet.set_column("B:B", 20) worksheet.set_column("C:C", 40) # On définit un style qui sera utilisé pour la ligne de titre. # Pour obtenir toutes les caractéristiques disponibles : print(dir(header_style)) header_style = workbook.add_format({ "bg_color": "gray", "font_color": "white", "bold": True }) # On injecte la ligne de titre dans la première feuille worksheet.write("A1", "Prénom", header_style) worksheet.write("B1", "Nom", header_style) worksheet.write("C1", "Email", header_style) # On produit une ligne par agent secret. pos = 2 for spy in database: worksheet.write(f"A{pos}", spy[0]) worksheet.write(f"B{pos}", spy[1]) worksheet.write(f"C{pos}", spy[2]) pos += 1 # On ajoute une seconde feuille worksheet = workbook.add_worksheet("Agencies") # TODO Remplir la feuille avec des données # Le classeur est automatiquement fermé par l'instruction with. |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :