Extraire le format d'une cellule Excel

Résolu/Fermé
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 10 mai 2023 à 13:07
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 11 mai 2023 à 10:35

Bonjour,

Je cherche à extraire un format de cellule contenant un nombre dans un document .xlsx

avec le module xlrd

J'ai cherché sur le Net, et testé cell_xf_index avec l'option formatting_info=True

dans open_workbook(), mais cela ne fonctionne apparemment pas avec un xlsx,

seulement avec un xls

Si quelqu'un sait faire avec un xlsx

Merci d'avance pour vos réponses


Windows / Edge 113.0.1774.35

A voir également:

4 réponses

ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
Modifié le 10 mai 2023 à 13:57

Hello,

La demande concerne Python c'est ça ?

Dans ce cas, voilà une piste :

import openpyxl

# ouvrir le fichier Excel
wb = openpyxl.load_workbook('mon_fichier.xlsx')

# sélectionner une feuille de calcul
ws = wb['ma_feuille']

# accéder à une cellule et récupérer sa valeur
cell_value = ws['A1'].value

# afficher la valeur de la cellule
print(cell_value)

En sachant que le module xlrd ne prend pas en charge le format xlsx de manière native et qu'il faut installer la bibliothèque openpyxl

Source: https://openpyxl.readthedocs.io/en/stable/


0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 10 mai 2023 à 16:15

Bonjour Ozone et merci de ta réponse

En fait, j'ai une cellule contenant un nombre et je veux récupérer, non pas le contenu de la cellule

mais son format, tel qu'il a été initialisé dans Excel lorsque l'on fait

clic-droit -> format de cellule -> nombre -> 2 chiffres décimaux

Mais j'avais bien posté cette demande dans le forum Python, non ?

Que fait-il dans bureautique\Excel ?

0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
10 mai 2023 à 16:34

Est-ce que ceci peut aider :

https://openpyxl.readthedocs.io/en/stable/styles.html#number-formats

Avec un script qui peut ressembler à :

import openpyxl

# Ouvrir le fichier Excel
workbook = openpyxl.load_workbook('mon_fichier.xlsx')

# Sélectionner la feuille de calcul
worksheet = workbook['ma_feuille']

# Récupérer la cellule à une position donnée
cell = worksheet.cell(row=1, column=1)

# Récupérer le format de la cellule
cell_format = cell.number_format

# Afficher le format de la cellule
print(cell_format)

0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 11 mai 2023 à 10:57

Bonjour,

Je vois que mon message a été replacé dans le forum Python, où je l'avais créé au départ

Quelqu'un l'avait déplacé dans le forum bureautique, dans lequel, personnellement, je ne vais jamais

Ozone, je vais tester ton code ...

Un peu décevant quand même (je voulais retrouver nombre, 2 décimales, comme initialisé dans la feuille) :

Je me demande si il est vraiment possible de faire ce que je demande ... 

0