Excel tabs count

Good morning,
if i load a list of Excel files, does anyone know a way to count the number of tabs in each files?
Thanks

hi

import sys
import clr
import openpyxl

def number_sheet(i):
    wb=openpyxl.load_workbook(i)
    return len(wb.sheetnames)

files=IN[0]


OUT = [number_sheet(f) for f in files]

cordially
christian.stan

3 Likes

I ended up using only python

import os
import pandas as pd

# Chemin du dossier contenant les fichiers Excel
dossier = r"C:\Users\Daniel\Downloads\Semaine 10"

# Fichier Excel de sortie
fichier_sortie = os.path.join(dossier, "liste_feuilles.xlsx")

# Lister tous les fichiers Excel dans le dossier
fichiers_excel = [f for f in os.listdir(dossier) if f.endswith(('.xls', '.xlsx'))]

# Liste pour stocker les résultats
resultats = []

for fichier in fichiers_excel:
    chemin_fichier = os.path.join(dossier, fichier)
    try:
        xls = pd.ExcelFile(chemin_fichier)
        
        # Exclure "Feuil1"
        feuilles_a_lire = [feuille for feuille in xls.sheet_names if feuille != "Feuil1"]
        
        if feuilles_a_lire:
            resultats.append({
                "Fichier": fichier,
                "Feuilles extraites": ", ".join(feuilles_a_lire)
            })
        else:
            resultats.append({
                "Fichier": fichier,
                "Feuilles extraites": "Aucune (seulement 'Feuil1' présente)"
            })

    except Exception as e:
        resultats.append({
            "Fichier": fichier,
            "Feuilles extraites": f"Erreur : {e}"
        })

# Créer un DataFrame à partir des résultats
df_resultats = pd.DataFrame(resultats)

# Exporter vers Excel
df_resultats.to_excel(fichier_sortie, index=False)

print(f"✅ Liste des feuilles exportée dans '{fichier_sortie}'")
2 Likes