Rechercher
 

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 :

Génération d'un fichier .xslx

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.

Exemple de code

 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', 20)
    
    # On injecte la ligne de titre dans la première feuille
    # Pour obtenir toutes les caractéristiques : print( dir( headerStyle ) )
    headerStyle = workbook.add_format( {
        "bg_color": "gray",
        "font_color": "white",
        "bold": True
    } )
    
    worksheet.write( "A1", "Prénom", headerStyle )
    worksheet.write( "B1", "Nom", headerStyle )
    worksheet.write( "C1", "Email", headerStyle )
    
    # On produit une ligne par agent
    pos = 2
    for spy in database:
        worksheet.write( "A%d" % pos, spy[0] )
        worksheet.write( "B%d" % pos, spy[1] )
        worksheet.write( "C%d" % 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.
Exportation de données dans un fichier .xlsx