Extraire le format d'une cellule Excel

Résolu

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

4 réponses

  1. 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 ... 

    1. 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)

      1. 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 ?

        1. 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/