+
    xȇi`9                        ^ RI t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt	^ RIH
t
 ^ RIHt ^ RIHtHt ^ RIHt ]P&                  ! R4      t]P*                  R 4       t]P*                  R 4       tR	 tR
 t]P4                  P7                  RRR.4      R 4       tR t]P4                  P7                  RR>R?.4      R 4       t]P4                  P7                  RRR.4      ]P4                  P7                  RRR.4      R 4       4       t]P4                  P7                  RRR.3R. R@O3.4      R 4       t ]P4                  P7                  RR^RR.3R ^R!.3R"^R!R.3.4      R# 4       t!]P4                  P7                  R$^ ^ R%R&.R'R(.3^ ^R)R&.R%R(.3^^ R)R%.R'R(.3^^R)R&.R'R%.3.4      R* 4       t"]P4                  P7                  R+. RAO4      R, 4       t#R- t$]P4                  P7                  RRR.4      R. 4       t%]P4                  P7                  R/^ R0]PL                  R1^^^.R2]PL                  R3^^^.R4]PL                  R5^^^	./3^R1. RBOR3. RCOR5. RDO/3.4      ]P4                  P7                  R6. REO4      ]P4                  P7                  R. RFO4      R7 4       4       4       t'R8 t(]P4                  P7                  R. RFO4      R9 4       t)]P4                  P7                  R. RFO4      R: 4       t*R; t+R< t,R= t-R# )G    N)Path)	DataFrame)ExcelWriter_OpenpyxlWriter)OpenpyxlReaderopenpyxlc                      R # )z.xlsx r
       s/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/excel/test_openpyxl.pyextr      s    r   c                 x    V\         P                  ! 4        V  2,          pVP                  4        \        V4      # )N)uuiduuid4touchstr)r   tmp_pathtmps   && r   	tmp_excelr      s-    


~cU+
+CIIKs8Or   c                     ^ RI Hp  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//pV P                  R4      pV P                  RVR 7      pV P	                  V P
                  P                  R!7      pV P                  WDWDR"7      pV P                  RRR#7      pV P                  RRR$7      pV P                  RVR%7      pRp	V P                  RRR&7      p
\        P                  ! V4      pVR,          V8X  g   Q hVR',          V8X  g   Q hVR,          V8X  g   Q hVR,          V8X  g   Q hVR,          V	8X  g   Q hVR,          V
8X  g   Q hR(# ))r   )stylesfontcolor00FF0000boldTborderstopthinrightbottomleft	alignment
horizontalcenterverticalfillpatternTypesolidfgColorrgb006666FFtintg333333?number_formatformat_codez0.00
protectionlockedhiddenF)r   r   )style)r   r   r    r!   )r#   r%   )r*   r,   )r'   r)   )r0   r1   borderN)r   r   ColorFontSider   BORDER_THINBorder	AlignmentPatternFill
Protectionr   _convert_to_style_kwargs)r   hstyle
font_colorr   sider3   r"   
fill_colorr&   r-   r/   kws               r   test_to_excel_styleconverterrB   "   s    	*fd3E67FHfffUlHj%@UJPS4TU-0xx7F j)J;;D
;3D;;V^^77;8D]]t]HF  Hu EI*37J':FDM""$u"=J		1	1&	9Bf:h<6!!!k?i'''f:o-///lz)))r   c           	         ^ RI Hp RpRRR//pRRR//pV! ^^ ^*VR7      V! ^ ^^cVR7      .pRRRR	R
//p\        P                  ! V4      pVR,          pV! ^ ^ R^^VR7      .p	\        V 4      ;_uu_ 4       p
V
P	                  WRR7       V
P	                  WR7       V
P
                  V,          pRRR4       XR,          pVR,          pVP                  V8X  g   Q hVP                  V8X  g   Q hR#   + '       g   i     LJ; i)r   )	ExcelCellmerge_styledr   r   r   0000FF00)colrowvalr2   000000FFr   Tpandas)rG   rH   rI   
mergestartmergeendr2   
sheet_nameNB1A2)pandas.io.formats.excelrD   r   r<   _write_cellssheetsr   )r   rD   rO   sty_b1sty_a2initial_cells
sty_merged
sty_kwargsopenpyxl_sty_mergedmerge_cellswriterwksxcell_b1xcell_a2s   &             r   test_write_cells_merge_styledr`   C   s    1Jw
+,Fw
+,F 	aQBf5aQBf5M
 7J=>J 99*EJ$V,qh1q
	
K 
	#	#vMAK?mmJ'	 
$
 4yH4yH==////==//// 
$	#s   68C00D 		iso_datesTFc                     R V/p\        V RVR7      ;_uu_ 4       pVP                  P                  V8X  g   Q h\        4       P	                  V4       RRR4       R#   + '       g   i     R# ; i)ra   r   )engineengine_kwargsN)r   bookra   r   to_excel)r   ra   rd   r\   s   &&  r   test_engine_kwargs_writerg   d   sb     !),M	*M
 
	{{$$	111V$
 
 
 
s   7AA-	c           	         \        R R.4      P                  V 4       \        P                  ! \        \
        P                  ! R4      R7      ;_uu_ 4        \        V RRRR/R7      ;_uu_ 4       p\        R	.4      P                  VR
R7       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)helloworldzAload_workbook() got an unexpected keyword argument 'apple_banana'matchr   aapple_bananafruitrc   moderd   goodSheet2rN   N)r   rf   pytestraises	TypeErrorreescaper   )r   r\   s   & r   !test_engine_kwargs_append_invalidry   p   s     w !**95	iiO

 
 )73	
 

 vh((H(E

 

 

 
 
s$   B2/B	B2B/*B22C	zdata_only, expectedc                    \        R .4      P                  V 4       \        V RRRV/R7      ;_uu_ 4       pVP                  R,          R,          P                  V8X  g   Q h\        4       P                  VRR7       R	R	R	4       \
        P                  ! V RRRV/R
7      P                  R,          V8X  g   Q hR	#   + '       g   i     LF; i)=1+1r   rm   	data_onlyrp   Sheet1B2rs   rN   N)rO   rc   rd   )r      )r   rf   r   rT   valuepd
read_exceliloc)r   r|   expectedr\   s   &&& r   #test_engine_kwargs_append_data_onlyr      s    
 vh  +	*3{I>V
 
	}}X&t,22h>>>V9
 	&	2		

 $t	 		
 
s   AB::C
	
kwarg_name	read_onlyr|   kwarg_valuec                     V ! R RRRV,           4      p\         P                  ! \        WBV/R7      4      ;_uu_ 4       p\        VP                  V4      V8X  g   Q h RRR4       R#   + '       g   i     R# ; i)iodataexceltest1)rd   N)
contextlibclosingr   getattrre   )datapathr   r   r   filenamereaders   &&&&  r    test_engine_kwargs_append_readerr      si     fgw}=H			xK/HI
 
	v{{J/;>>>
 
 
 
s   A&&A7	zmode,expectedwbazrm   c                 D   \        ^.R.R7      p\        P                  4       pRVP                  ^ ,          n        RVP                  ^ ,          R,          n        VP                  R4       RVP                  ^,          R,          n        VP                  V 4       \        V RVR7      ;_uu_ 4       pVP                  VRRR	7       R
R
R
4       \        P                  ! \        P                  V 4      4      ;_uu_ 4       pVP                   Uu. uF  qwP                  NK  	  ppW8X  g   Q h\        V4       F0  w  rVP                  V	,          R,          P
                  V
8X  d   K0  Q h	  R
R
R
4       R
#   + '       g   i     L; iu upi   + '       g   i     R
# ; i)r   r   columnsfooA1barr   )rc   rq   FrO   indexN)r   r   Workbook
worksheetstitler   create_sheetsaver   rf   r   r   load_workbook	enumerate)r   rq   r   dfwbr\   wb2sheetresultr   
cell_values   &&&        r   test_write_append_moder      s:    
A3	(B				B"BMM!#(BMM!T OOE#(BMM!T GGI	Yz	=	=
FuE: 
> 
		H229=	>	>#+.>>:>%++>:!!!!*8!4E>>%(.44
BBB "5	 
?	> 
>	= ; 
?	>	>s1   2E6 FF	#A F(F6F		FF	z#if_sheet_exists,num_sheets,expectednewapplebananareplacepearoverlayc                    \        R RR./4      p\        R R./4      pVP                  V RRRR7       \        V RRVR	7      ;_uu_ 4       pVP                  VRRR
7       RRR4       \        P                  ! \
        P                  V 4      4      ;_uu_ 4       p\        VP                  4      V8X  g   Q hVP                  ^ ,          R8X  g   Q h\        P                  ! VRRR7      p\        VR ,          4      V8X  g   Q h\        VP                  4      ^8X  d@   \        P                  ! WwP                  ^,          RR7      p\        P                  ! W4       RRR4       R#   + '       g   i     EL; i  + '       g   i     R# ; i)ro   r   r   r   r   r   Frc   rO   r   rm   rc   rq   if_sheet_existsr   Nrc   )r   rf   r   r   r   r   r   len
sheetnamesr   r   listtmassert_frame_equal)	r   r   
num_sheetsr   df1df2r\   r   r   s	   &&&&     r   !test_if_sheet_exists_append_modesr      s@    Ww12
3C
Wvh'
(CLL:%uLM	*3
 
	VU;

 
		H229=	>	>"2==!Z///}}Q5(((r5<F7O$000r}}"]]2}}Q'7
KF!!&. 
?	>
 
 

 
?	>	>s   
E$CE8$E5	8F		z%startrow, startcol, greeting, goodbyepooprj   goodbyepeopleri   c                    \        R RR.RRR./4      p\        R.4      pVP                  V RRRR	7       \        V RR
RR7      ;_uu_ 4       pVP                  VRRV^,           VRR7       RRR4       \        P                  ! V RRR7      p\        R VRV/4      p	\
        P                  ! W4       R#   + '       g   i     LP; i)greetingri   rj   r   r   r   r   pooFr   rm   r   r   )r   headerstartrowstartcolrO   NrO   rc   )r   rf   r   r   r   r   r   )
r   r   r   r   r   r   r   r\   r   r   s
   &&&&&     r   %test_append_overlay_startrow_startcolr      s     Z'7!3YH@UV
WC
VH
CLL:%uLM	*3	
 
	\ 	 	
	
 ]]9zJF*h	7CDH&+
 
s   B33C	zif_sheet_exists,msgc           	         \        R R./4      pVP                  V RRR7       \        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        V RRVR7      ;_uu_ 4       pVP                  VRR7       R	R	R	4       R	R	R	4       R	#   + '       g   i     L; i  + '       g   i     R	# ; i)
ro   r   r   r   r   rk   rm   r   rN   N)r   rf   rt   ru   
ValueErrorrw   rx   r   )r   r   msgr   r\   s   &&&  r   test_if_sheet_exists_raisesr     s    ( 
GfX&	'BKK	eJK?	z3	8	8jsO
 
KK5K1
 
9	8
 
 
9	8	8s$   B,3B	B,B)$B,,B=	c                 >   \        R \        P                  ! ^^
^
4      /4      p\        R\        P                  ! ^^^
4      /4      p\        P                  ! W.^R7      pVP
                  P                  R 4      P                  4       pVP                  V RR7       R# )AB)axisc                 "    R V ^ 8  d   R 2# R 2# )zcolor: redblackr
   )rI   s   &r   <lambda>4test_to_excel_with_openpyxl_engine.<locals>.<lambda>%  s    gsQwe<=G<=r   r   r   N)	r   nplinspacer   concatr2   maphighlight_maxrf   )r   r   r   r   styleds   &    r   "test_to_excel_with_openpyxl_enginer     s}    
S"++aR01
2C
S"++aR01
2C	C:A	&BXX\\=mo  OOIjO1r   c                 P   V ! R RRRV,           4      p\         P                  ! \        P                  W2R7      4      ;_uu_ 4       p\        P
                  ! VRR7      pRRR4       \        P
                  ! V4      p\        P                  ! XV4       R#   + '       g   i     L?; i)r   r   r   r   r   r   r   N)r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   s   &&&    r   test_read_workbookr   +  s     fgw}=H			x=
 
	r*5
 }}X&H&(+
 
s   BB%	zheader, expected_dataTitler   
Unnamed: 1r   
Unnamed: 2Cr   c                 n   V ! R RRV V 24      pVf   \         P                  ! WbR7      pMT\        P                  ! \        P                  WeR7      4      ;_uu_ 4       p\         P                  ! VRVR7      pRRR4       \        V4      p	\        P                  ! XV	4       R#   + '       g   i     L4; i)r   r   r   N)r   r   r   )rc   r   	r   r   r   r   r   r   r   r   r   )
r   r   r   expected_datar   r   pathr   r   r   s
   &&&&&&    r   test_read_with_bad_dimensionr   7  s    . D&'hZu+=>Dt3""4"=
 
]]2jHF
 'H&(+
 
s   B$$B4	c                    \        4       pVP                  V R R7       \        V RR RR7      ;_uu_ 4       pVP                  V4       RRR4       \        V 4      P	                  4       pVP                  R4      pVP                  RV^,           4      pVP                  RV^,           4      pVR8w  d   VR8X  g   Q hR#   + '       g   i     L~; i)r   r   rm   r   )rq   rc   r   Ns   docProps/app.xml)r   rf   r   r   
read_bytesfind)r   r   r\   r   firstsecondthirds   &      r   test_append_mode_filer   Z  s    	BKK	*K-	J
 
	
F
 	?%%'DII)*EYY*EAI6FII)6A:6ER<ERK''K
 
s   B==C	c                    V ! R RRRV 24      pVf   \         P                  ! V4      pMS\        P                  ! \        P                  W2R7      4      ;_uu_ 4       p\         P                  ! VRR7      pRRR4       \        R\        P                  R	^^^.R
\        P                  R^^^.R\        P                  R^^^	./4      p\        P                  ! XV4       R#   + '       g   i     Ls; i)r   r   r   empty_trailing_rowsNr   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   nanr   r   r   r   r   r   r   r   r   s   &&&    r   "test_read_with_empty_trailing_rowsr   o  s     D&'-@+FGDt$""4"=
 
]]2j9F
 bffc1a+26631a026631a0	
H &(+
 
s   C  C0	c                 f   V ! R RRRV 24      pVf   \         P                  ! V4      pMS\        P                  ! \        P                  W2R7      4      ;_uu_ 4       p\         P                  ! VRR7      pRRR4       \        4       p\        P                  ! XV4       R#   + '       g   i     L3; i)r   r   r   empty_with_blank_rowNr   r   r   r   r   s   &&&    r   test_read_empty_with_blank_rowr     s     D&'-A#+GHDt$""4"=
 
]]2j9F
 {H&(+
 
s   B  B0	c                     \        V R R7      ;_uu_ 4       pVP                  / 8X  g   Q hVP                  P                  R^ 4      pVP                  RV/8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   r   	test_nameN)r   rT   re   r   )r   r\   r   s   &  r   test_book_and_sheets_consistentr     s_    	Yz	2	2f}}"""((a8}}e 4444 
3	2	2	2s   AA&&A7	c                     V ! R RRRV 24      p\         P                  ! V4      p\        \        ^^4      ^.R7      p\        P
                  ! W44       R# )r   r   r   ints_spelled_with_decimalsr   N)r   r   r   ranger   r   r   r   r   r   r   s   &&   r   test_ints_spelled_with_decimalsr    sJ    D&'-Gu+MND]]4 Fq"s3H&+r   c                    V ! R RRRV 24      p\         P                  ! V. RO. ROR7      p\        \        P                  RRR.R\        P                  \        P                  \        P                  ..\         P
                  P                  . R	O4      \         P
                  P                  R
R.4      R7      p\        P                  ! W44       R# )r   r   r   multiindex_no_index_names)	index_colr   x)r   r   N)r   r      ))XYr   )r	  r
  rQ   )XXYYrP   )r  r  r~   )r   AAAAA)r   BBBBB)	r   r   r   r   r   
MultiIndexfrom_tuplesr   r   r  s   &&   r   *test_read_multiindex_header_no_index_namesr    s    D&'-Fse+LMD]]49YGF
&&#sC	 3"?@))X
 mm'');=O(PQH &+r   )Tr   )Fr{   )r   r   r   ))invalidzf'invalid' is not valid for if_sheet_exists. Valid options are 'error', 'new', 'replace' and 'overlay'.)errorASheet 'foo' already exists and if_sheet_exists is set to 'error'.)Nr  )r   r     )         )      	   )dimension_missingdimension_smalldimension_large)TFN).r   pathlibr   rw   r   numpyr   rt   rK   r   r   pandas._testing_testingr   pandas.io.excelr   r   pandas.io.excel._openpyxlr   importorskipr   fixturer   r   rB   r`   markparametrizerg   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
   r   r   <module>r+     s     	       5z*    *B0B tUm4% 5%F( .O0LM N2 ['ABu6? 7 C? sUGns,A&BCCC* )	GX&'	Ax 	A)*//* +	
A 9h"78	
A!FH#56	
A 9h"78	
A!Iv#67	,,2 $2%$2	2 tUm4, 5,  "&&#q!Q/rvvsAq!4rvvsAq!4	
 
S)S)S)<=
 K &9:, ;	&, (* &9:, ;,* &9:, ;,5,,r   