
    j[hZ                     V    d dl Zd dlmZ d dlZd dlmZmZmZ de	e
   defdZdefdZy)    N)BytesIO)get_connectionexecutequeriesrowsreturnc                 T    K    fd}t        j                  |       d{   S 7 w)u  
    Convierte una lista de diccionarios en un archivo Excel en memoria.
    - Las llaves del primer objeto definen el orden de columnas (si hay más llaves en otros objetos, también se incluyen).
    - Devuelve un buffer BytesIO listo para usarse en una respuesta.
    c                     st        j                         } nt        j                        } t               }t        j                  |d      5 }| j	                  |dd       |j
                  d   }t        | j                  d      D ]  \  }}t        t        t        |            g| |   j                  t              j                  D cg c]  }t        t        |             c}z         }t        |dz   d	      |j                  |j                  d|
      j                      _         	 d d d        |j%                  d       |S c c}w # 1 sw Y   !xY w)Nopenpyxl)engineFdata)index
sheet_name   )start   2   )rowcolumnr   )pd	DataFramer   ExcelWriterto_excelsheets	enumeratecolumnsmaxlenstrastypevaluesmincolumn_dimensionscellcolumn_letterwidthseek)	dfoutputwriterwscol_idxr   xmax_lenr   s	           ^/var/www/dev.api.imparables.com.co/api_imparables/crm_asincrono/generacion_documentos/excel.py
_sync_taskz'crear_excel_de_json.<locals>._sync_task   s)   Bd#B^^F:6 		p&KKeK? v&B#,RZZq#A pV%&r&z?P?PQT?U?\?\)]!#c!f+)]] \__fij_jln[o$$RWW7W%C%Q%QRX	p		p 	A *^		p 		ps    A>EE(AEEEN)asyncio	to_thread)r   r0   s   ` r/   crear_excel_de_jsonr3      s%     * "":....s   (&(c                  b   K   d} t        |        d{   }t        |       d{   S 7 7 w)z
    Genera un archivo Excel con los datos de una tabla de la base de datos.
    - Devuelve un buffer BytesIO listo para usarse en una respuesta.
    zSELECT * FROM prospectos_manualN)r   r3   )sqlr   s     r/   tabla_a_excel_prospectosr6   $   s0     
 ,CD$T*** *s   /+/-//)pandasr   ior   r1   conexion_db.conexionr   r   r   listdictr3   r6        r/   <module>r>      s7       A A/DJ /7 /<+ +r=   