From 3ed26fe7619ac0684f09fd14e175b85293fff487 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 15 Oct 2021 19:40:50 +0800 Subject: [PATCH] add test --- .../cn/hutool/poi/excel/CellEditorTest.java | 46 ++++++++++++++++++ .../src/test/resources/cell_editor_test.xlsx | Bin 0 -> 9271 bytes 2 files changed, 46 insertions(+) create mode 100644 hutool-poi/src/test/java/cn/hutool/poi/excel/CellEditorTest.java create mode 100644 hutool-poi/src/test/resources/cell_editor_test.xlsx diff --git a/hutool-poi/src/test/java/cn/hutool/poi/excel/CellEditorTest.java b/hutool-poi/src/test/java/cn/hutool/poi/excel/CellEditorTest.java new file mode 100644 index 000000000..9046324f4 --- /dev/null +++ b/hutool-poi/src/test/java/cn/hutool/poi/excel/CellEditorTest.java @@ -0,0 +1,46 @@ +package cn.hutool.poi.excel; + +import cn.hutool.poi.excel.cell.CellEditor; +import lombok.AllArgsConstructor; +import lombok.Data; +import org.apache.poi.ss.usermodel.Cell; +import org.junit.Assert; + +import java.io.Serializable; +import java.util.List; + +public class CellEditorTest { + + @org.junit.Test + public void readTest(){ + ExcelReader excelReader= ExcelUtil.getReader("cell_editor_test.xlsx"); + excelReader.setCellEditor(new ExcelHandler()); + List excelReaderObjects=excelReader.readAll(Test.class); + + Assert.assertEquals("0", excelReaderObjects.get(0).getTest1()); + Assert.assertEquals("b", excelReaderObjects.get(0).getTest2()); + Assert.assertEquals("0", excelReaderObjects.get(1).getTest1()); + Assert.assertEquals("b1", excelReaderObjects.get(1).getTest2()); + Assert.assertEquals("0", excelReaderObjects.get(2).getTest1()); + Assert.assertEquals("c2", excelReaderObjects.get(2).getTest2()); + } + + @AllArgsConstructor + @Data + public static class Test implements Serializable { + private static final long serialVersionUID = 1L; + + private String test1; + private String test2; + } + + public static class ExcelHandler implements CellEditor { + @ Override + public Object edit(Cell cell, Object o) { + if (cell.getColumnIndex()==0 && cell.getRowIndex() != 0){ + o="0"; + } + return o; + } + } +} diff --git a/hutool-poi/src/test/resources/cell_editor_test.xlsx b/hutool-poi/src/test/resources/cell_editor_test.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..af1e0326ed196383c26b7652c648d76e19dca7bd GIT binary patch literal 9271 zcmeHtg9oZ~HH{K&AGub1xT8r{0c)Y?p3KVN`iJ zDtQ~Z5&afQrf;%7ee+im<{yDf)*3o>s67lCjuS?V$D+hli;M=+l3yG-t_;-Z%`i&i ztK1L8ZWQw6z$KNs@ePS_`~}1hpitzQCX^>FixwRAw0E=&g#3-@yx)3`RJWxoq9tS) zI$1Z%;VeAP|^q|n;NIj2d0oJLvHeOLF z?u<+W3ry;4NrYvnB<(8U%A9zpFnJ@ zs++w`e~5sm5})f7sLj^s+89PjZBy{d{~A29^&sh*?V`VxZzPF)_B92133 zY*FWNCm#BBhNF5!;@B+%R@%Pfo{)P~!Ed1*p6Ch^9S~ioV!inI=utw>A|S)ZoG7VU z_!JW{6mw6;-FE)$Ir(J;1Zz3BNQ!DL{Sb@n7UpMncL)IWf4FIr4j0`C40}&tPcdL_ zYU&Ph^x)+9dHkPy{ule?--ce9tfJP(g&7G|_z^X9KD(TVBdzQsrO-~J9TcLtgxwTh zOi#Al%|wo)O&W$EAKV%AV+67+8ox6{bM~39G7b+YLf7n56`676=7qw_=$`)At#Z8| z*L(JK_AE9ltWd-EDh4YS7u9gH z(pulEB5U6Y7VM-#@CV4$Hm>j!o|hmXB?~4nR0%~1q{q@43-QkHG@Y~SDdAn zjr*vg0cqk)V@1g^L*i=4Wz?AsUgZxjv3uI)&0JT zNva~%rqb~J*7^5-%tRW3H$0jLvG2FClsvgFZodcg4cL!gjsQZG-ZSf!zj&zpT8KSH z^b3C#b^TfqJ$kx@-LRp0@^Fr(4q>__q)P`+w~&wqkE&-a4oP`CvvfCEw;Tz#ks5t# zG-tM6hHWO{U7Bp=r>3l1_7!o2 z{j`TQdl*d1cte^Er#i50LmP=bSdP~S=ZrlQ%tR$d4NpKR`AA{z}IilvV_9hy{vn>9+J z(OO3+_x$}-82k>lOUGl?_#13zx;Ltyz=%e8-!HGNLgS)^<;POF)&hjPz~w86Ol926 zS>K=bumEw-DJ!&PFAl#>_bKumI`M9|=WTyhoWNXiwL#Xhb+<8OFwv(^vm;Ua zvlq%p@mIGPV+xOVT3NU=1*Ru(W-tZuyx+bmQLyQq)bc2VhPRZ~6c~9i=Veo5l~dKB=f^-6zR?_1FE)iXFm#mP z1TzLvqzMhq)YWouac7_O2aKov8~LH)sTs#G#J9oFPYOVVgCYOV2=RCP|0i0&!N?rU zfBw6-N=+5zei)g-xQ*iSdFf4nyWq)5yQi~@jXK=O0%4@#4LVsRV{J3h|D?=`;1cNv z9UJsM=g0btfPdPDuU!Pc07iFYVo~_5-g8|kGHq8Tk#zOE87FVRXlm< zVIJ_&<^?kYNmTJ`TG^A<=}12NaV{?&dyh$q5!h-u+PD#N6|S{c1#W!%mO7io`s-b* z4CD+sAM8gpbxeY$DEhz;FtzoOhV7z9?hN&)k*c2$kD^m6R7pZ@Zjt!Y^MJWnc#9b)qWUUu3&&7hQ0CE zV(DQE0(p9H{&C{|xoYMl8>#hj5l2E*eqgIW4Fo0WMk6)QrbNDMcX_Vr%V0OKmlEH# zn?{A83HF0_+nW7XpiZlwy^9G9LXW4jldTn%(1^|1>^2z!gI}IGGarV&jAe5uC^0%X z@ec6QsH`%&K&Hl_CpMjC3>UEZ5Qofn9^=%r_QWZ76Ha0|=kgO=OCQ=)I2OH z@>xzgha-&>#l{$rVa(Cwi@9Hq98mz)@=4 z+@++%f#BV;4Aur1vX|JICZ*W`u85z-)T7ldJBOuT}C)D#)z$86!r2F1%}&(nR&F@ zu-=wOXXo}a9Fr3-wAGJap>ulQpt`Rhrc%(;@sXw^>p{?bLviJ{=|9~d{G7u-CNgzO z3O$SqCt|%KTu9QAuZh~SU?47>*cB9q@92N6TKGi9wNT{C-OyXqX`m%(z!6r)wHCV= zvHHmY@1dSv*fWw{8Nse71)A|UQ9D*W<`=3p9bYB-zs>5D=|u_uSY&s3oNX<~+!Z7^ zU{tsR9x-ZA;YVR!K?h;5x_omQp)Bxa`}nHh=o4Y;Z8rqv|9=(V3n}zoNldvKo(;e! zT3V%2GCdPuc%E6K9aC9K;$t~AsP^7|clQNU4^OCY>T8Mfnw1K)5Yfg(3OgntC$9|O z4O~=B|9l>qf<{X-`x_^s&6^W3C;V_C2Li#i1{R8=) zwjd`E=O4#EK)+`&;Q|o=c45!oQE%-VHZv?>?Esq{nH*A@ZI`gbrUjhp3T0(VQb^@O zO?*hW3dp=kY9UyCA@C5pj2l7r=KX|uItC-FCxSOg@XM3LsPsGj2~?~8R~IsKE~2Vs z9+AAN`ipK3bE0!S+u81S*|u*HvxrF_y);upAR-MUS!Oo$ zCT-Ua-w@E>zFDg`mu|q{CM6?87ZIycL^M5&wjL)bq9D4;sz1gJdT1O)%dsXkc=|El zXu12ToPPu^frul2d*Kz^9(vfeoylp|*x*amK#7CC{rBDQ>UHsCd?@SGOBY%IzN~i& z9vp2G1#|nSVel29N6K-~poY~l65p|4%Qz3gLhbIC8LSA@SP&5`%<* zKQ5Pg1v{NrT}XYAVp$Z`-cCNn5hyyf6-*>4j?(oNIfxp2w%#Et#qU_I?9FZYW?shu z?OA_44S+t8R!UR8lF&DjQGEcn$SMc-Tl5D@<_;t!k|^t%{Rf@MKQbgtP2NNoh&|_X z7{g~3&D*`m=nlF$N{}%9M)}?ld41q~!u0m`#{l-~kJC}!xO3;o_rd|Pcpq{h7fY>! zc*NNe5|lPBHr%ne+z-_;yV$Eya2`?k`bU&KnCr7frLrpE6jl`c8tt_BqvkGLy->HO_pLP!sl|Ia%KRRAtR46Ye#|X4 zf-b*K>p6R|zd|(boF&gNu?_FKD7`8+u7kp3D@UNFou>lc(CElx98IVG&5O_(%Z~y( z;^MqX2Zq%4G!nfZQNO?$qNmOqzfhMx4WXjJg(&1z*2lacbA`*wvmD9k0eUz$w5Ig< zHkGWxJJprmWLD$hXQ8>SC4>*-JvF9D~ zZWY(7IJNp_5%`!{43{l7p~bMqBQxo>jIA~qTGPuV#}z_uV?rYY1i^{KdN&@%E_zz= zm??O|Q~svYoa5fp91)E7=2bP>vy8;12UXsfqZ^qj$71$XjOWFzzOM8m-kkG|eYesZ zTeSxJ?E?F=s@~OSgAVZ1XHE*Xxmon2gm`0KbXMzL^dE<+!{s2oMGVU|T214h8G({c zDFpgFLba1SEus0)8*{P<=DZQnuY-Wyy^#%LyVpKQDLVv!-6$`l)GTM^YLO@=`HYN3 zGOI=E!nBu)(rkUiDsCFNSLVYyn{6hqKNc{_)CG|#k&bBx`ep6O(E znq{WLlO>WFkT3?#sb6f1c;XnO_dt;G25*?TL)eMx`Cm47T8~L*$Ol%(&Fw%L#$ua zKK^WC6I9!--{cO~uVK?!uSlS{I!6@M_T;51!~%ANZP538$dahA4AW`}Yj%t zeLK?VhwrWM{eFk>JGvHPm-%i2M%P+lf$PDaLCeF_&k^MDlcSaBj5*Ip;&jm+VpVju z-zt(P4|&UF8h$vifiS~)yp#(K} z>*d%YTdF?(DB*M7c86Lnynz!7mNZ5TEbU!a1$6BwI*LL=XfEG0N)RGjBTsofQ^;;b zxdl?7g3o8Q08R2lz@?pn`5wxY#$Hnp?eyfF=cw_eYr3|QVHkQ-lE45iju%Vjio&VX zrYaJ_er0`sfUHrk6rP2IGWtN;V?rgAEC>2z)J4Okz`JMXUrHOwqs;>5l<1gjW0$kg zkl*-7uTI$xlP^8V+2sBpB?FRc3~jbwco3OzX}3gjF!%_Hw2EGj*w(Mf?lD=kAJAze zlZr>$_6nn1zA7Voua|jW?0_uFpkBQ#9B#368Pq}mLMu&+sO2}RUYaZC|G|;kG-+j^ z$y2YL?3z)36Sogo2c{mg30grb==R#A-Ra!TIY)qfEp1lN1RMn)$HT?AK4@{%{6wUj zm)CRbXt72466iAB96Zadm;d!OgvfRh3!Yuzxe?=?G%?rcRU-JE&bu}=mt+qp5|74o ztYb@Om)`3O*B}|?W?U}(+*zY$o#s%5!}Wk|R)QBf*oF{g1Sd?>#;Jz``QtVEVCe>?%|eqWjo)?KGUfQw=X>cjR~k3D%#S)o zklr|rw=!}%RT7Q8Dx&g}PUYJja7bMKY^nlqFu*tmiQA z{&%(};>4re0~@?FEODp%(+EFP`@gcaKXd(GIoltZet1GpY%dp3?i}G(#@9dPQv{}r zmLP45&Nl>$t3_l;M&dc}#=n6a^zQ3d*NLwJFRw-4kXd6TJ^a`PAF*LcWLtaSzsTM# zRrhFT35donnrJ@5(Upy$s;U$-n5a*HQ5T^>e?#0C)W1;o0_{zr_~wFQj33wVWgOXL zWx2i6kts?er)m@Q;YOfdn6Q|p!R_9QKq^t^;_h*Uqls`up+qzBA_bu#x$j3I7E-%D zXL$~RSctEkK8zlpq5aMRuK2N{?XZ!r!4^QKKP})2n}1J`yB5gP^Cu8E@7;5ASlBrq znW37gn;n=dSTS2GfS4@~;FB37lK|8rR0`KTEulIWJj6W2+?l*v@N$w5F$&00x$3zZ zmd(w~Jyyow^$)!p=8A)a(?x_Ph33=157{6le~_F`>Ori`7DlA|NQ^Uv*e@;lKA2ik zaCu;cQ#*zx>=LyCp|3c6JL|$R1K|=$1rE%KnE`ic2gIDfp=Pk=%_JcP2g-Cv($Kua zf!l}&PvHb~2N<3CBmg?>|@Vq;m?QCy*D`L@%p zeRfB7NX1<>FXuSf(JfKu1npCr;n!$-mRLzQcBQ7#sbg!B35^X=EijB9ym+xTS=7=s z(o$$_~%coS0g?v|$VFEF>1`LK!y3BWH~^a$-0(ckr3#x*hipk+&1>!xP2- zz`F#noWY+$WARPkqiVK?16!6!f{(CL!q;4CP}r99i3~w&sjnomC%1tX)?EsqBT7u} z=oh-WXmLqd1Qt4s40K((NRn@gbCYF!Gz&?Zm-Eaee9kR3ti|ioyVuC%M>C=lUuxxC z8B&?dU51bc4dS5u?4A1;(_{8TsQR&SIF(cAc1oACTU#kLT-P15W=K?V;H~rmXmL;O z2PCRei#KTzLL{R~3y5F|qJI7|XFCj#MRL)A0S0N{hvZ9D2NBRhmD1!o5Y}a3jtZY` zdZ0)JN#q&{4h|CgadUY0&80_?%0BRsGsWO$an9KTAi01yG6D)(R5)80;q+VkLfS4k zQ3`}}OoaWAhDtbBUyl!SYEL*j5Av=VncvcxQw4JGb5!+>n6ieKI#Ci1)a&9Z3BL=1 zT!UL)%RPoAW!uPe@FQ@&|a*Xxc;@W)$_fwl+3d#unQ1C0!xi5O3 z8~ze4g4MKPBk;J-6z^-ePpp1vC?&aXgWuAu`wH*#lwS(p!0L^#PrAoa?%)5xTJ9_T yXYl`}5&(EZ1_1nv3fvd}=gR$eaW=}oiT|~Zt1BbHFbDu(!gfX&jIXJG-u*v0A)lrI literal 0 HcmV?d00001