From 7e4f06d4dff6185a6aead790a5ba096660665616 Mon Sep 17 00:00:00 2001 From: Michel Date: Mon, 14 Apr 2025 10:51:50 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5Cr=C3=A9ation=20du=20fichier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inventaires-Excel.py | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Inventaires-Excel.py diff --git a/Inventaires-Excel.py b/Inventaires-Excel.py new file mode 100644 index 0000000..8f60925 --- /dev/null +++ b/Inventaires-Excel.py @@ -0,0 +1,61 @@ +import streamlit as st +import pandas as pd +import mysql.connector +from datetime import datetime +from dotenv import load_dotenv +import os + +# Charger les variables d'environnement (.env) +load_dotenv() + +def get_connection(database_name): + return mysql.connector.connect( + host=os.getenv("54.36.188.119"), + user=os.getenv("michel"), + password=os.getenv("#SO2&1nf%mZ@jfh"), + database=database_name + ) + +# --- Interface utilisateur --- +st.title("📦 Tableau de bord - Inventaires multi-sites") + +# Sélecteur de base (site) +sites = ["Roissy", "Meudon", "Saclay"] # ➕ tu peux en ajouter ici +site_selectionne = st.selectbox("Sélectionnez le site :", sites) + +try: + conn = get_connection(site_selectionne) + cursor = conn.cursor(dictionary=True) + + # Récupérer les mois disponibles + cursor.execute("SELECT DISTINCT DATE_FORMAT(Date, '%Y-%m') AS Mois FROM Inventaires ORDER BY Mois DESC") + mois_dispos = [row['Mois'] for row in cursor.fetchall()] + + if not mois_dispos: + st.warning("Aucun inventaire trouvé pour ce site.") + else: + mois_choisi = st.selectbox("Choisissez un mois :", mois_dispos) + + # Charger les données du mois + query = """ + SELECT Id_Article, Quantité, Prix, Date + FROM Inventaires + WHERE DATE_FORMAT(Date, '%%Y-%%m') = %s + ORDER BY Id_Article + """ + cursor.execute(query, (mois_choisi,)) + data = cursor.fetchall() + df = pd.DataFrame(data) + + st.success(f"{len(df)} lignes trouvées pour {site_selectionne} - {mois_choisi}") + st.dataframe(df) + + # Export CSV + csv = df.to_csv(index=False).encode('utf-8') + st.download_button("📥 Télécharger CSV", csv, f"Inventaire_{site_selectionne}_{mois_choisi}.csv", "text/csv") + + cursor.close() + conn.close() + +except Exception as e: + st.error(f"Erreur : {e}")