
    MfP\                     N    d dl mZ d dl mZ d dlmZmZmZ  G d de          ZdS )   )BIFFRecords)Style)unicode_type	int_types
basestringc                      e Zd ZdZdadZd Zd Zd Z eee          Z	d Z
d	 Z eee
          Zd
 Zd Z eee          Zd Zd Z eee          Zd Zd Z eee          Zd Zd Z eee          Zd Zd Z eee          Zd Zd Z eee          Zd Zd Z  ee e          Z!d Z"d Z# ee#e"          Z$d Z%d Z& ee&e%          Z'd Z(d Z) ee)e(          Z*d Z+d Z, ee,e+          Z-d  Z.d! Z/ ee/e.          Z0d" Z1d# Z2 ee2e1          Z3d$ Z4d% Z5 ee5e4          Z6d& Z7d' Z8 ee8e7          Z9d( Z:d) Z; ee;e:          Z<d* Z=d+ Z> ee>e=          Z?d, Z@ ee@          ZAd- ZBd. ZCd/ ZDd0 ZEd1 ZFd2 ZGd3 ZHd4 ZIdbd6ZJd7 ZKd8 ZLd9 ZMd: ZNd; ZOd< ZPd= ZQd> ZRd? ZSd@ ZTdA ZUdB ZVdC ZWdD ZXdE ZYdF ZZdG Z[dH Z\dI Z]dJ Z^dK Z_dL Z`dM ZadN ZbdO ZcdP ZddQ ZedR ZfdS ZgdT ZhdU ZidV ZjdW ZkdX ZldY ZmdZ Znd[ Zod\ Zpd] Zqd^ Zrd_ Zsd`S )cWorkbookz
    This is a class representing a workbook and all its contents. When creating
    Excel files with xlwt, you will normally start by instantiating an
    object of this class.
    ascii    c                 4   || _         d| _        d | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        t+          j        |          | _        d| _        d| _        t5          j        | j                   | _        g | _        i | _        i | _        i | _         i | _!        d | _"        d | _#        d | _$        d | _%        d S )	NNoner   i  Z   i?  iN*  r   iX  )&encoding_Workbook__owner_Workbook__country_code_Workbook__wnd_protect_Workbook__obj_protect_Workbook__protect_Workbook__backup_on_save_Workbook__hpos_twips_Workbook__vpos_twips_Workbook__width_twips_Workbook__height_twips_Workbook__custom_palette_b8_Workbook__active_sheet_Workbook__first_tab_index_Workbook__selected_tabs_Workbook__tab_width_twips_Workbook__wnd_hidden_Workbook__wnd_mini_Workbook__hscroll_visible_Workbook__vscroll_visible_Workbook__tabs_visibler   StyleCollection_Workbook__styles_Workbook__dates_1904_Workbook__use_cell_valuesr   SharedStringTable_Workbook__sst_Workbook__worksheets"_Workbook__worksheet_idx_from_name_Workbook__sheet_refs_supbook_xref_xcall_xref_ownbook_supbookx_ownbook_supbook_ref_xcall_supbookx_xcall_supbook_ref)selfr   style_compressions      L/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/xlwt/Workbook.py__init__zWorkbook.__init__7   s+    " !""#$#' !"#!'!"!"-.?@@!" 24=AA
)+&!%$(!#"&    c                 *    | j         j        d d          S N)r%   statsr3   s    r5   get_style_statszWorkbook.get_style_statsh   s    }"111%%r7   c                     || _         d S r9   r   r3   values     r5   	set_ownerzWorkbook.set_ownerk   s    r7   c                     | j         S r9   r>   r;   s    r5   	get_ownerzWorkbook.get_ownern   s
    |r7   c                     || _         d S r9   r   r?   s     r5   set_country_codezWorkbook.set_country_codeu   s    #r7   c                     | j         S r9   rE   r;   s    r5   get_country_codezWorkbook.get_country_codex       ""r7   c                 .    t          |          | _        d S r9   )intr   r?   s     r5   set_wnd_protectzWorkbook.set_wnd_protect        ZZr7   c                 *    t          | j                  S r9   )boolr   r;   s    r5   get_wnd_protectzWorkbook.get_wnd_protect       D&'''r7   c                 .    t          |          | _        d S r9   )rK   r   r?   s     r5   set_obj_protectzWorkbook.set_obj_protect   rM   r7   c                 *    t          | j                  S r9   )rO   r   r;   s    r5   get_obj_protectzWorkbook.get_obj_protect   rQ   r7   c                 .    t          |          | _        d S r9   )rK   r   r?   s     r5   set_protectzWorkbook.set_protect   s    Ur7   c                 *    t          | j                  S r9   )rO   r   r;   s    r5   get_protectzWorkbook.get_protect   s    DN###r7   c                 .    t          |          | _        d S r9   )rK   r   r?   s     r5   set_backup_on_savezWorkbook.set_backup_on_save   s     #E

r7   c                 *    t          | j                  S r9   )rO   r   r;   s    r5   get_backup_on_savezWorkbook.get_backup_on_save   s    D)***r7   c                     |dz  | _         d S N  r   r?   s     r5   set_hposzWorkbook.set_hpos       !FNr7   c                     | j         S r9   ra   r;   s    r5   get_hposzWorkbook.get_hpos         r7   c                     |dz  | _         d S r_   r   r?   s     r5   set_vposzWorkbook.set_vpos   rc   r7   c                     | j         S r9   rh   r;   s    r5   get_vposzWorkbook.get_vpos   rf   r7   c                     |dz  | _         d S r_   r   r?   s     r5   	set_widthzWorkbook.set_width   s    "V^r7   c                     | j         S r9   rm   r;   s    r5   	get_widthzWorkbook.get_width   s    !!r7   c                     |dz  | _         d S r_   r   r?   s     r5   
set_heightzWorkbook.set_height   s    #fnr7   c                     | j         S r9   rr   r;   s    r5   
get_heightzWorkbook.get_height   rI   r7   c                 2    |dz  | _         | j         | _        d S r_   )r   r   r?   s     r5   set_active_sheetzWorkbook.set_active_sheet   s    #fn!%!4r7   c                     | j         S r9   )r   r;   s    r5   get_active_sheetzWorkbook.get_active_sheet   rI   r7   c                     |dz  | _         d S r_   r   r?   s     r5   set_tab_widthzWorkbook.set_tab_width   s    !&r7   c                     | j         S r9   r{   r;   s    r5   get_tab_widthzWorkbook.get_tab_width   s    %%r7   c                 0    t          |           | _        d S r9   )rK   r   r?   s     r5   set_wnd_visiblezWorkbook.set_wnd_visible   s    E	NNr7   c                 ,    t          | j                   S r9   )rO   r   r;   s    r5   get_wnd_visiblezWorkbook.get_wnd_visible   s    )****r7   c                 .    t          |          | _        d S r9   )rK   r    r?   s     r5   set_wnd_minizWorkbook.set_wnd_mini   s    e**r7   c                 *    t          | j                  S r9   )rO   r    r;   s    r5   get_wnd_minizWorkbook.get_wnd_mini   s    DO$$$r7   c                 .    t          |          | _        d S r9   )rK   r!   r?   s     r5   set_hscroll_visiblezWorkbook.set_hscroll_visible       !$Ur7   c                 *    t          | j                  S r9   )rO   r!   r;   s    r5   get_hscroll_visiblezWorkbook.get_hscroll_visible       D*+++r7   c                 .    t          |          | _        d S r9   )rK   r"   r?   s     r5   set_vscroll_visiblezWorkbook.set_vscroll_visible  r   r7   c                 *    t          | j                  S r9   )rO   r"   r;   s    r5   get_vscroll_visiblezWorkbook.get_vscroll_visible  r   r7   c                 .    t          |          | _        d S r9   )rK   r#   r?   s     r5   set_tabs_visiblezWorkbook.set_tabs_visible  s    !%jjr7   c                 *    t          | j                  S r9   )rO   r#   r;   s    r5   get_tabs_visiblezWorkbook.get_tabs_visible  s    D'(((r7   c                 .    t          |          | _        d S r9   )rK   r&   r?   s     r5   set_dates_1904zWorkbook.set_dates_1904  s    JJr7   c                 *    t          | j                  S r9   )rO   r&   r;   s    r5   get_dates_1904zWorkbook.get_dates_1904  s    D%&&&r7   c                 .    t          |          | _        d S r9   )rK   r'   r?   s     r5   set_use_cell_valueszWorkbook.set_use_cell_values   r   r7   c                 *    t          | j                  S r9   )rO   r'   r;   s    r5   get_use_cell_valueszWorkbook.get_use_cell_values#  r   r7   c                     | j         j        S r9   )r%   default_styler;   s    r5   get_default_stylezWorkbook.get_default_style*  s    }**r7   c                 L   d|cxk    rdk    sn t          d|z            t          |||          dk     st          |||          dk    rt          d|||fz            | j        t	          t
          j                  | _        |dz
  }|dz  |dz  z  |dz  z  | j        |<   d S )	N   ?   z5set_colour_RGB: colour_index (%d) not in range(8, 64)r      zAset_colour_RGB: colour values (%d,%d,%d) must be in range(0, 256)      )	Exceptionminmaxr   listr   excel_default_palette_b8)r3   colour_indexredgreenbluepalette_indexs         r5   set_colour_RGBzWorkbook.set_colour_RGB1  s    L&&&&B&&&&S ! " " "sE4  1$$C(=(=(C(C_E4() * * *#+'+E,J'K'KD$ %q(25)erk2IDTUI2U ///r7   c                 6    | j                             |          S r9   )r%   add)r3   styles     r5   	add_stylezWorkbook.add_styleC  s    }  '''r7   c                 6    | j                             |          S r9   )r%   add_font)r3   fonts     r5   r   zWorkbook.add_fontF  s    }%%d+++r7   c                 6    | j                             |          S r9   )r)   add_strr3   ss     r5   r   zWorkbook.add_strI  s    z!!!$$$r7   c                 :    | j                             |           d S r9   )r)   del_str)r3   sst_idxs     r5   r   zWorkbook.del_strL  s    
7#####r7   c                 6    | j                             |          S r9   )r)   	str_indexr   s     r5   r   zWorkbook.str_indexO  s    z##A&&&r7   c                 6    | j                             |          S r9   )r)   add_rtr3   rts     r5   r   zWorkbook.add_rtR  s    z  $$$r7   c                 6    | j                             |          S r9   )r)   rt_indexr   s     r5   r   zWorkbook.rt_indexU  s    z""2&&&r7   Fc                    ddl m} ddlm} t          |t                    s|                    | j                  }|                    |          st          d|z            |	                                }|| j
        v rt          d|z            t          | j                  | j
        |<   | j                             ||| |                     | j        d         S )a  
        This method is used to create Worksheets in a Workbook.

        :param sheetname:

          The name to use for this sheet, as it will appear in the
          tabs at the bottom of the Excel application.

        :param cell_overwrite_ok:

          If ``True``, cells in the added worksheet will not raise an
          exception if written to more than once.

        :return:

          The :class:`~xlwt.Worksheet.Worksheet` that was added.

        r   )Utils)	Worksheetzinvalid worksheet name %rzduplicate worksheet name %r) r   r   
isinstancer   decoder   valid_sheet_namer   lowerr+   lenr*   append)r3   	sheetnamecell_overwrite_okr   r   
lower_names         r5   	add_sheetzWorkbook.add_sheetX  s    & 	(((((()\22 	8!((77I%%i00 	E7)CDDD__&&
7779IEFFF589J5K5K&z2  9d<M!N!NOOO $$r7   c                     t          |t                    r| j        |         S t          |t                    r"|                     |          }| j        |         S t          d          )Nzsheet must be integer or string)r   r   r*   r   sheet_indexr   )r3   sheetsheetnums      r5   	get_sheetzWorkbook.get_sheetx  sd    eY'' 	?$U++z** 	?''..H$X..=>>>r7   c                     	 | j         |                                         }n%# t          $ r |                     |           Y nw xY w|S r9   )r+   r   KeyErrorraise_bad_sheetname)r3   r   r   s      r5   r   zWorkbook.sheet_index  s\    	05ioo6G6GHHH 	0 	0 	0$$Y/////	0 s   " AAc                 &    t          d|z            )NzFormula: unknown sheet name %s)r   )r3   r   s     r5   r   zWorkbook.raise_bad_sheetname  s    89DEEEr7   c                 p    t          |          }d|cxk    r|k     rn n|S d||fz  }t          |          )Nr   z2Formula: sheet index (%s) >= number of sheets (%d))rK   r   )r3   strg_refn_sheetsidxmsgs        r5   convert_sheetindexzWorkbook.convert_sheetindex  sP    (mmhJBhPXEYYnnr7   c                 n    || j         v r| j         |         S t          | j                   x| j         |<   }|S r9   )r-   r   )r3   tagr   s      r5   _get_supbook_indexzWorkbook._get_supbook_index  s@    $$$$%c**(+D,>(?(??3#
r7   c                     |                      d          | _        d | _        | j        ddf}|| j        v rt	          d          t          | j                  x| j        |<   | _        d S )N)ownbookr     can't happen)r   r/   r0   r,   r   r   r3   	references     r5   setup_ownbookzWorkbook.setup_ownbook  sq    !%!8!8!H!H$(!+VV<	)))N+++CFtGXCYCYY)$t'@'@'@r7   c                     |                      d          | _        d | _        | j        ddf}|| j        v rt	          d          t          | j                  x| j        |<   | _        d S )N)xcallr   r   r   )r   r1   r2   r,   r   r   r   s     r5   setup_xcallzWorkbook.setup_xcall  sq    #66|DD"&)66:	)))N+++ADTEVAWAWW)$t'>'>'>r7   c                    g }t          | j                  }|                                \  }}|D ]\  }}}|                                sF	 | j        |                                         }	n;# t          $ r |                     |           Y nw xY w|                     ||          }	||k    r|	}
np|                                sF	 | j        |                                         }
n;# t          $ r |                     |           Y nw xY w|                     ||          }
|
|	k     rd|||	|
fz  }t          |          | j
        |                                  | j
        |	|
f}|| j        v r$|                    || j        |         f           `t          | j                  }|dk    rt          d          || j        |<   |                    ||f           |D ]\  }}| j
        |                                  | j        |                                  |                    || j        f           t#          |t$                    s|                    | j                  }|| j        v r| j        |         }nt          | j                  x| j        |<   }|                    |dz   |dz   f           |                    |           d S )Nz/Formula: sheets out of order; %r:%r -> (%d, %d)r`   z&More than 65536 inter-sheet references   r   )r   r*   get_referencesisdigitr+   r   r   r   r   r   r/   r   r,   r   r1   r   r2   r   r   r   r   r.   patch_references)r3   formulapatchesr   
sheet_refs
xcall_refsref0ref1offsetref0nref1nr   r   nrefsfuncnamer   s                   r5   add_sheet_referencezWorkbook.add_sheet_reference  s   t())!(!7!7!9!9
J", 	0 	0D$<<>> @3 :4::<<HEE 3 3 3,,T222223 //h??t||\\^^ @3 :4::<<HEE 3 3 3,,T222223 //h??u}}GT5%01nn$%-""$$$/>ID---(9)(DEFFFFD-..5==#$LMMM/4!),//// * 	2 	2Hf%-""$$$#+  """NNFD$;<===h55 :#??4=994+++&x036t7G3H3HH *SNNFQJa01111  )))))s$   A,,BBC%%DDc                 l    t          j        t           j        j                                                  S r9   )r   Biff8BOFRecordBOOK_GLOBALgetr;   s    r5   	__bof_reczWorkbook.__bof_rec  s%    )+*D*PQQUUWWWr7   c                 L    t          j                                                    S r9   )r   	EOFRecordr  r;   s    r5   	__eof_reczWorkbook.__eof_rec      $&&**,,,r7   c                 L    t          j                                                    S r9   )r   InteraceHdrRecordr  r;   s    r5   __intf_hdr_reczWorkbook.__intf_hdr_rec      ,..22444r7   c                 L    t          j                                                    S r9   )r   InteraceEndRecordr  r;   s    r5   __intf_end_reczWorkbook.__intf_end_rec  r  r7   c                 L    t          j                                                    S r9   )r   	MMSRecordr  r;   s    r5   __intf_mms_reczWorkbook.__intf_mms_rec  r  r7   c                 X    t          j        | j                                                  S r9   )r   WriteAccessRecordr   r  r;   s    r5   __write_access_reczWorkbook.__write_access_rec  s!    ,T\::>>@@@r7   c                 X    t          j        | j                                                  S r9   )r   WindowProtectRecordr   r  r;   s    r5   __wnd_protect_reczWorkbook.__wnd_protect_rec  "    .t/ABBFFHHHr7   c                 X    t          j        | j                                                  S r9   )r   ObjectProtectRecordr   r  r;   s    r5   __obj_protect_reczWorkbook.__obj_protect_rec  r  r7   c                 X    t          j        | j                                                  S r9   )r   ProtectRecordr   r  r;   s    r5   __protect_reczWorkbook.__protect_rec  s!    (88<<>>>r7   c                 L    t          j                                                    S r9   )r   PasswordRecordr  r;   s    r5   __password_reczWorkbook.__password_rec      )++//111r7   c                 L    t          j                                                    S r9   )r   Prot4RevRecordr  r;   s    r5   __prot4rev_reczWorkbook.__prot4rev_rec  r&  r7   c                 L    t          j                                                    S r9   )r   Prot4RevPassRecordr  r;   s    r5   __prot4rev_pass_reczWorkbook.__prot4rev_pass_rec      -//33555r7   c                 X    t          j        | j                                                  S r9   )r   BackupRecordr   r  r;   s    r5   __backup_reczWorkbook.__backup_rec  s"    '(=>>BBDDDr7   c                 L    t          j                                                    S r9   )r   HideObjRecordr  r;   s    r5   __hide_obj_reczWorkbook.__hide_obj_rec  s    (**..000r7   c                 4   d}|| j         dz  z  }|| j        dz  z  }|| j        dz  z  }|| j        dz  z  }|| j        dz  z  }t          j        | j        | j        | j	        | j
        || j        | j        | j        | j        	  	                                        S )Nr   r            )r   r    r!   r"   r#   r   Window1Recordr   r   r   r   r   r   r   r   r  )r3   flagss     r5   __window1_reczWorkbook.__window1_rec  s    $#))$/a''$(Q..$(Q..$%!++():D<M $ 2D4G % $ 3T5K $ 4d6L	N N ORcee		Tr7   c                 L    t          j                                                    S r9   )r   CodepageBiff8Recordr  r;   s    r5   __codepage_reczWorkbook.__codepage_rec  s    .0044666r7   c                 v    | j         sdS t          j        | j         | j                                                   S Nr7   )r   r   CountryRecordr  r;   s    r5   __country_reczWorkbook.__country_rec  s7    " 	3()<d>QRRVVXXXr7   c                 L    t          j                                                    S r9   )r   	DSFRecordr  r;   s    r5   	__dsf_reczWorkbook.__dsf_rec$  r  r7   c                 r    t          j        t          | j                                                            S r9   )r   TabIDRecordr   r*   r  r;   s    r5   __tabid_reczWorkbook.__tabid_rec'  s*    &s4+<'='=>>BBDDDr7   c                 L    t          j                                                    S r9   )r   FnGroupCountRecordr  r;   s    r5   __fngroupcount_reczWorkbook.__fngroupcount_rec*  r-  r7   c                 X    t          j        | j                                                  S r9   )r   DateModeRecordr&   r  r;   s    r5   __datemode_reczWorkbook.__datemode_rec-  s"    )$*;<<@@BBBr7   c                 X    t          j        | j                                                  S r9   )r   PrecisionRecordr'   r  r;   s    r5   __precision_reczWorkbook.__precision_rec0  s"    *4+ABBFFHHHr7   c                 L    t          j                                                    S r9   )r   RefreshAllRecordr  r;   s    r5   __refresh_all_reczWorkbook.__refresh_all_rec3  s    +--11333r7   c                 L    t          j                                                    S r9   )r   BookBoolRecordr  r;   s    r5   __bookbool_reczWorkbook.__bookbool_rec6  r&  r7   c                 4    | j                                         S r9   )r%   get_biff_datar;   s    r5   %__all_fonts_num_formats_xf_styles_recz.Workbook.__all_fonts_num_formats_xf_styles_rec9  s    }**,,,r7   c                 n    | j         dS t          j        | j                                                   }|S r?  )r   r   PaletteRecordr  )r3   infos     r5   __palette_reczWorkbook.__palette_rec<  s4    #+3()ABBFFHHr7   c                 L    t          j                                                    S r9   )r   UseSelfsRecordr  r;   s    r5   __useselfs_reczWorkbook.__useselfs_recB  r&  r7   c           
      x   d}| j         D ]J}|t          t          j        d|j        |j        | j                                                            z  }K||z   |z   }d}t          || j                   D ]E\  }}|t          j        ||j        |j        | j                                                  z  }||z  }F|S )Nr   r7   )	r*   r   r   BoundSheetRecord
visibilitynamer   r  zip)	r3   data_len_beforedata_len_aftersheet_biff_lensboundsheets_lenr   startresultsheet_biff_lens	            r5   __boundsheets_reczWorkbook.__boundsheets_recE  s     & 	 	Es;#?e&
DM$ $#%%    OO  /1NB&)/4;L&M&M 	$ 	$"NUk2u'T] #%%F ^#EEr7   c                 0   g }d | j                                         D             }|                                 |D ]/\  }}|\  }}|dk    rNt          j        t          | j                                                            }|                    |           _|dk    rt          j	                                                    }|                    |           d | j
                                        D             }|                                 |D ]D\  }}t          j        dd|d                                          }|                    |           Et          d|z            t          | j                  dk    r~d	 | j                                        D             }|                                 d
 |D             }t          j        |                                          }	|                    |	           d                    |          S )Nc                     g | ]	\  }}||f
S  rp  ).0r   r   s      r5   
<listcomp>z,Workbook.__all_links_rec.<locals>.<listcomp>`  s     FFFxsCc
FFFr7   r   r   c                     g | ]	\  }}||f
S rp  rp  )rq  rd  r   s      r5   rr  z,Workbook.__all_links_rec.<locals>.<listcomp>j  s     NNN	cdNNNr7   r   z )optionsindexrd  fmlazunknown supbook stype %rc                     g | ]	\  }}||f
S rp  rp  )rq  refr   s      r5   rr  z,Workbook.__all_links_rec.<locals>.<listcomp>t  s     III83S#JIIIr7   c                     g | ]\  }}|S rp  rp  )rq  r   rx  s      r5   rr  z,Workbook.__all_links_rec.<locals>.<listcomp>v  s    ---HCC---r7   r7   )r-   itemssortr   InternalReferenceSupBookRecordr   r*   r  r   XcallSupBookRecordr.   ExternnameRecordr   r,   ExternSheetRecordjoin)
r3   piecestempr   r   stypesnumrecrd  externsheet_records
             r5   __all_links_reczWorkbook.__all_links_rec^  s   FF4+=+C+C+E+EFFF		 	D 	DHCKE4	!!!@TEVAWAWXX\\^^c""""'!!!466::<<c"""NNT5E5K5K5M5MNNN		!% ' 'IC%6 !<NP P PPSPSPUPU MM#&&&&'
   :U BCCCt !!A%%IIt/@/F/F/H/HIIIDIIKKK-----D!,!>t!D!D!H!H!J!JMM,---xxr7   c                 4    | j                                         S r9   )r)   get_biff_recordr;   s    r5   	__sst_reczWorkbook.__sst_rec{  s    z))+++r7   c                     dS r?  rp  )r3   abs_stream_poss     r5   __ext_sst_reczWorkbook.__ext_sst_rec~  s    sr7   c                    d}||                                  z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }|| 	                                z  }|| 
                                z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }||                                 z  }|                                 }|                                 }|                                 }||z   |z   }|                     d          }|                                 }d| j        | j                 _         d}g }	| j        D ]=}
|
!                                }||z  }|	"                    tG          |                     >| $                    tG          |          tG          |          tG          |          z   tG          |          z   |	          }tG          |          tG          |          z   tG          |          z   tG          |          z   }|                     |          }||z   |z   |z   |z   |z   S )Nr7   r   T)%_Workbook__bof_rec_Workbook__intf_hdr_rec_Workbook__intf_mms_rec_Workbook__intf_end_rec_Workbook__write_access_rec_Workbook__codepage_rec_Workbook__dsf_rec_Workbook__tabid_rec_Workbook__fngroupcount_rec_Workbook__wnd_protect_rec_Workbook__protect_rec_Workbook__obj_protect_rec_Workbook__password_rec_Workbook__prot4rev_rec_Workbook__prot4rev_pass_rec_Workbook__backup_rec_Workbook__hide_obj_rec_Workbook__window1_rec_Workbook__datemode_rec_Workbook__precision_rec_Workbook__refresh_all_rec_Workbook__bookbool_rec._Workbook__all_fonts_num_formats_xf_styles_rec_Workbook__palette_rec_Workbook__useselfs_rec_Workbook__country_rec_Workbook__all_links_rec_Workbook__sst_rec_Workbook__ext_sst_rec_Workbook__eof_recr*   r   selectedrX  r   r   _Workbook__boundsheets_rec)r3   beforecountry	all_linksshared_str_tableafterext_ssteofsheetsrh  r   databundlesheetssst_stream_poss                 r5   rX  zWorkbook.get_biff_data  s   $.."""$%%'''$%%'''$%%'''$))+++$%%'''$.."""$""$$$$))+++$((***$$$&&&$((***$%%'''$%%'''$**,,,$##%%%$%%'''$$$&&&$%%'''$&&((($((***$%%'''$<<>>>$$$&&&$%%'''!//11!1133	!^^--)#&66$$Q''nn:>$-.7& 	. 	.E&&((DdNF""3t99------c&kk3u::c'll;RSVWZS[S[;[]lmmVs<'8'883w<<G3y>>Y$$^44$u,w6<vEEr7   c                     ddl m} |                                }|                    ||                                            dS )a  
        This method is used to save the Workbook to a file in native Excel
        format.

        :param filename_or_stream:
          This can be a string containing a filename of
          the file, in which case the excel file is saved to disk using the name
          provided. It can also be a stream object with a write method, such as
          a :class:`~io.StringIO`, in which case the data for the excel
          file is written to the stream.
        r   )CompoundDocN)r   r  XlsDocsaverX  )r3   filename_or_streamr  docs       r5   r  zWorkbook.save  sN     	"!!!!!  ""#T%7%7%9%9:::::r7   N)r
   r   )F)t__name__
__module____qualname____doc__r6   r<   rA   rC   propertyownerrF   rH   country_coderL   rP   wnd_protectrS   rU   obj_protectrW   rY   protectr[   r]   backup_on_saverb   re   hposri   rk   vposrn   rp   widthrs   ru   heightrw   ry   active_sheetr|   r~   	tab_widthr   r   wnd_visibler   r   wnd_minir   r   hscroll_visibler   r   vscroll_visibler   r   tabs_visibler   r   
dates_1904r   r   use_cell_valuesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rX  r  rp  r7   r5   r	   r	   -   s7        )' )' )' )'b& & &     HY	**E$ $ $# # # 8,.>??L( ( (( ( ( (?O<<K( ( (( ( ( (?O<<K$ $ $$ $ $ h{K00G+ + ++ + + X02DEEN+ + +! ! ! 8Hh''D+ + +! ! ! 8Hh''D, , ," " " HY	**E- - -# # # Xj*--F5 5 5# # # 8,.>??L0 0 0& & & 66I+ + ++ + + (?O<<K% % %% % % xl33H, , ,, , , h24GHHO, , ,, , , h24GHHO) ) )) ) ) 8,.>??L' ' '' ' ' ..99J, , ,, , , h24GHHO+ + + H.//MV V V$( ( (, , ,% % %$ $ $' ' '% % %' ' '% % % %@? ? ?  F F F    Z Z ZX X X5* 5* 5*vX X X- - -5 5 55 5 5- - -A A AI I II I I? ? ?2 2 22 2 26 6 6E E E1 1 1T T T7 7 7Y Y Y
- - -E E E6 6 6C C CI I I4 4 42 2 2- - -  2 2 2  2     :, , ,  
2F 2F 2Fh; ; ; ; ;r7   r	   N)	r   r   r   compatr   r   r   objectr	   rp  r7   r5   <module>r     s   R             7 7 7 7 7 7 7 7 7 7Y
; Y
; Y
; Y
; Y
;v Y
; Y
; Y
; Y
; Y
;r7   