Python Language OpenPyXL


Exemple

OpenPyXL est un module permettant de manipuler et de créer des xlsx/xlsm/xltx/xltm en mémoire.

Manipulation et lecture d'un classeur existant:

import openpyxl as opx
#To change an existing wookbook we located it by referencing its path
workbook = opx.load_workbook(workbook_path)

load_workbook() contient le paramètre read_only , la valeur True va charger le classeur comme read_only, cela est utile lors de la lecture de fichiers xlsx plus xlsx :

workbook = opx.load_workbook(workbook_path, read_only=True)

Une fois que vous avez chargé le classeur en mémoire, vous pouvez accéder aux feuilles individuelles à l'aide de workbook.sheets

first_sheet = workbook.worksheets[0]

Si vous souhaitez spécifier le nom d'une feuille disponible, vous pouvez utiliser workbook.get_sheet_names() .

sheet = workbook.get_sheet_by_name('Sheet Name')

Enfin, les lignes de la feuille sont accessibles à l'aide de sheet.rows . Pour parcourir les lignes d'une feuille, utilisez:

for row in sheet.rows:
    print row[0].value

Comme chaque row dans les rows est une liste de Cell , utilisez Cell.value pour obtenir le contenu de la cellule.

Créer un nouveau classeur en mémoire:

#Calling the Workbook() function creates a new book in memory
wb = opx.Workbook()

#We can then create a new sheet in the wb
ws = wb.create_sheet('Sheet Name', 0) #0 refers to the index of the sheet order in the wb

Plusieurs propriétés de tabulation peuvent être modifiées via openpyxl, par exemple tabColor :

ws.sheet_properties.tabColor = 'FFC0CB'

Pour enregistrer notre classeur créé, nous terminons avec:

wb.save('filename.xlsx')