
    f                     8    d dl mZ  G d dej                  ZdS )   )	xmlwriterc                   X     e Zd ZdZ fdZd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Z xZS )Tablez:
    A class for writing the Excel XLSX Table file.


    c                 d    t          t          |                                            i | _        dS )z
        Constructor.

        N)superr   __init__
properties)self	__class__s    R/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/xlsxwriter/table.pyr   zTable.__init__   s,     	eT##%%%    c                     |                                   |                                  |                                  |                                  |                                  |                     d           |                                  d S )Ntable)_xml_declaration_write_table_write_auto_filter_write_table_columns_write_table_style_info_xml_end_tag
_xml_close)r
   s    r   _assemble_xml_filezTable._assemble_xml_file)   s     	 	 	!!! 	!!### 	$$&&& 	'""" 	r   c                     || _         d S )N)r	   )r
   r	   s     r   _set_propertieszTable._set_propertiesA   s    $r   c                    d}|dz   }| j         d         }| j         d         }| j         d         }| j         d         }| j         d         }| j         d         }d|fd|fd|fd	|fd
|fg}	|s|	                    d           |r|	                    d           n|	                    d           |                     d|	           d S )Nz"http://schemas.openxmlformats.org/zspreadsheetml/2006/mainidnamerangetotals_row_shownheader_row_countxmlnsdisplayNameref)headerRowCount    )totalsRowCountr   )totalsRowShownr$   r   )r	   append_xml_start_tag)
r
   schemar    table_idr   display_namer"   r   r   
attributess
             r   r   zTable._write_tableK   s    522?4(v&v.og&?+=>?+=> e8TNL)CL

   	53444 	5344443444GZ00000r   c                 z    | j                             dd          }|sd S d|fg}|                     d|           d S )N
autofilterr$   r"   
autoFilter)r	   get_xml_empty_tag)r
   r.   r,   s      r   r   zTable._write_auto_filterh   sX    _((q99
 	F 

 	L*55555r   c                     | j         d         }t          |          }d|fg}|                     d|           |D ]}|                     |           |                     d           d S )NcolumnscounttableColumns)r	   lenr(   _write_table_columnr   )r
   r3   r4   r,   col_datas        r   r   zTable._write_table_columnsx   s|    /),G&'
NJ777 	/ 	/H$$X.....)))))r   c                    d|d         fd|d         fg}|                     d          r|                    d|d         f           n2|                     d          r|                    d|d         f           d|v r%|d         |                    d|d         f           |                     d	          s|                     d
          r|                     d|           |                     d	          r|                     |d	                    |                     d
          r(|                     |                     d
                     |                     d           d S |                     d|           d S )Nr   r   total_stringtotalsRowLabeltotal_functiontotalsRowFunctionformat	dataDxfIdformulacustom_totaltableColumn)r0   r'   r(    _write_calculated_column_formula_write_totals_row_formular   r1   )r
   r8   r,   s      r   r7   zTable._write_table_column   s    8D>"Xf%&


 <<'' 	Q/.1IJKKKK\\*++ 	Q2H=M4NOPPPxHX$6$B{HX,>?@@@<<	"" 	;hll>&B&B 	;z:::||I&& K55hy6IJJJ||N++ M..x||N/K/KLLLm,,,,,z:::::r   c                    | j         }g }|d         }d|d         z   }d|d         z   }d|d         z   }d|d         z   }|#|dk    r|dk    r|                    d	|f           |                    d
|f           |                    d|f           |                    d|f           |                    d|f           |                     d|           d S )Nstyler$   show_first_colshow_last_colshow_row_stripesshow_col_stripes Noner   showFirstColumnshowLastColumnshowRowStripesshowColumnStripestableStyleInfo)r	   r'   r1   )r
   propsr,   r   show_first_columnshow_last_columnrI   show_column_stripess           r   r   zTable._write_table_style_info   s   
W~&6 77u_55u%788%(:";;

tv~~vtn---,.?@AAA+-=>???+-=>???.0CDEEE,j99999r   c                 2    |                      d|           d S )NcalculatedColumnFormula_xml_data_elementr
   r@   s     r   rC   z&Table._write_calculated_column_formula   s    8'BBBBBr   c                 2    |                      d|           d S )NtotalsRowFormularX   rZ   s     r   rD   zTable._write_totals_row_formula   s    17;;;;;r   )__name__
__module____qualname____doc__r   r   r   r   r   r   r7   r   rC   rD   __classcell__)r   s   @r   r   r      s                0% % %1 1 1:6 6 6 * * * ; ; ;<: : :*C C C< < < < < < <r   r   N)rK   r   	XMLwriterr    r   r   <module>rd      sZ         u< u< u< u< u<I u< u< u< u< u<r   