From 44ea5cb2c7f2e49b6d0969ce3cb9f1df80dfdcaa Mon Sep 17 00:00:00 2001 From: wupingyuan Date: Sat, 6 May 2023 18:02:22 +0800 Subject: [PATCH] add libxlsxwriter Signed-off-by: wupingyuan --- thirdparty/libxlsxwriter/HPKBUILD | 49 +++++++++++++ thirdparty/libxlsxwriter/README.OpenSource | 11 +++ thirdparty/libxlsxwriter/README_zh.md | 12 ++++ thirdparty/libxlsxwriter/SHA512SUM | 1 + .../libxlsxwriter/docs/hap_integrate.md | 68 ++++++++++++++++++ .../docs/pic/libxlsxwriter_install_dir.jpg | Bin 0 -> 16849 bytes .../docs/pic/libxlsxwriter_test.jpg | Bin 0 -> 89457 bytes .../docs/pic/libxlsxwriter_usage.jpg | Bin 0 -> 30936 bytes 8 files changed, 141 insertions(+) create mode 100644 thirdparty/libxlsxwriter/HPKBUILD create mode 100644 thirdparty/libxlsxwriter/README.OpenSource create mode 100644 thirdparty/libxlsxwriter/README_zh.md create mode 100644 thirdparty/libxlsxwriter/SHA512SUM create mode 100644 thirdparty/libxlsxwriter/docs/hap_integrate.md create mode 100644 thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_install_dir.jpg create mode 100644 thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_test.jpg create mode 100644 thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_usage.jpg diff --git a/thirdparty/libxlsxwriter/HPKBUILD b/thirdparty/libxlsxwriter/HPKBUILD new file mode 100644 index 00000000..6245b657 --- /dev/null +++ b/thirdparty/libxlsxwriter/HPKBUILD @@ -0,0 +1,49 @@ +# Contributor: wupingyuan +# Maintainer: wupingyuan +pkgname=libxlsxwriter +pkgver=RELEASE_1.1.5 +pkgrel=0 +pkgdesc="Libxlsxwriter is a C library that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file." +url="https://github.com/jmcnamara/libxlsxwriter" +archs=("armeabi-v7a" "arm64-v8a") +license=("FreeBSD") +depends=() +makedepends=() +install= +source="https://github.com/jmcnamara/$pkgname/archive/refs/tags/$pkgver.tar.gz" + +autounpack=true +downloadpackage=true +builddir=$pkgname-$pkgver +packagename=$builddir.tar.gz + +prepare() { + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DOHOS_ARCH=$ARCH -DBUILD_TESTS=ON -B$ARCH-build -S./ -L > `pwd`/$ARCH-build/build.log 2>&1 + make -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir + make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +check() { + echo "The test must be on an OpenHarmony device!" + # 在OpenHarmony开发板中执行用例 + # ctest +} + +cleanbuild(){ + rm -rf ${PWD}/$builddir #${PWD}/$packagename +} diff --git a/thirdparty/libxlsxwriter/README.OpenSource b/thirdparty/libxlsxwriter/README.OpenSource new file mode 100644 index 00000000..628d67e7 --- /dev/null +++ b/thirdparty/libxlsxwriter/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "libxlsxwriter", + "License": "FreeBSD", + "License File": "License.txt", + "Version Number": "RELEASE_1.1.5", + "Owner": "wupingyuan@huawei.com", + "Upstream URL": "https://github.com/jmcnamara/libxlsxwriter/archive/refs/tags/RELEASE_1.1.5.tar.gz", + "Description": "Libxlsxwriter is a C library that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file." + } +] diff --git a/thirdparty/libxlsxwriter/README_zh.md b/thirdparty/libxlsxwriter/README_zh.md new file mode 100644 index 00000000..7c50b992 --- /dev/null +++ b/thirdparty/libxlsxwriter/README_zh.md @@ -0,0 +1,12 @@ +# libxlsxwriter三方库说明 +## 功能简介 +libxlsxwriter是一个可以向Excel写入文字和图片的库。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Release +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:RELEASE_1.1.5 +- 当前适配的功能:Excel写入文字和图片 +- [FreeBSD](https://github.com/jmcnamara/libxlsxwriter) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/libxlsxwriter/SHA512SUM b/thirdparty/libxlsxwriter/SHA512SUM new file mode 100644 index 00000000..c5c05712 --- /dev/null +++ b/thirdparty/libxlsxwriter/SHA512SUM @@ -0,0 +1 @@ +bd7db0fcf25ebf492b4d8f7da8fdb6cc79400d7d0fa5856ddae259cb24817034fc97d4828cbde42434f41198dcfb6732ac63c756abd962689f4249ca64bf19c6 libxlsxwriter-RELEASE_1.1.5.tar.gz \ No newline at end of file diff --git a/thirdparty/libxlsxwriter/docs/hap_integrate.md b/thirdparty/libxlsxwriter/docs/hap_integrate.md new file mode 100644 index 00000000..7d42d61c --- /dev/null +++ b/thirdparty/libxlsxwriter/docs/hap_integrate.md @@ -0,0 +1,68 @@ +# libxlsxwriter集成到应用hap +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 +## 开发环境 +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 3.2.11.9 (API Version 9 Release)](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fohos-sdk-windows_linux-public.tar.gz) +- [DevEco Studio 3.1 Beta2](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2Ff3%2Fv3%2FuJyuq3syQ2ak4hE1QZmAug%2Fdevecostudio-windows-3.1.0.400.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230408T013335Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D96262721EDC9B34E6F62E66884AB7AE2A94C2A7B8C28D6F7FC891F46EB211A70) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) +## 编译三方库 +- 下载本仓库 + ``` + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/thirdparty/libxlsxwriter #三方库libxlsxwriter的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── libxlsxwriter_oh_pkg.patch #补丁 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将libxlsxwriter拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/libxlsxwriter tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh libxlsxwriter + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + ``` + libxlsxwriter-arm64-v8a-install libxlsxwriter-armeabi-v7a-install + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示 + ![thirdparty_install_dir](pic/libxlsxwriter_install_dir.jpg) +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ``` + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libxlsxwriter-${OHOS_ARCH}-install/lib/libxlsxwriter.a) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libxlsxwriter-${OHOS_ARCH}-install/include) + ``` + ![libxlsxwriter_usage](pic/libxlsxwriter_usage.jpg) +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +进入到构建目录执行ctest运行测试用例(arm64-v8a-build为构建64位的目录,armeabi-v7a-build为构建32位的目录) + + ![libxlsxwriter_test](pic/libxlsxwriter_test.jpg) + +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_install_dir.jpg b/thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_install_dir.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5416497c5e9c7770a4fc5a004cee85302604b8c0 GIT binary patch literal 16849 zcmcJ$1yoz#w=Norm12eB6nAfNr!B=w(c-~cT!TxomKJv?ZpEQkkq{ubJH;V*up$W# z!NTKruDtQ?edC^U-us`OJx4OeUOQPcd+)jC{JwAA&)=^Bp1xC5Q3POMU;xY?UV!^W zfII;6(W8I%hYjmt$9{~BjfI8%1Q!?QF~Ji80{kcV_=H5HPYH=gi16{BQamMjMn+Cf zPC!gaML|YIN=8oh&zE3eKAeMvjfahmM@EQGNcNxJ?mGY^k1_Ny(l9ZY0gp&9Fi9}( zdjJdo00#EMZ2y_?f8Q`3J>Qk2+`=NFV&W2#@^2Ls zm6TQ9ebCX>(>E|QvaqzWwz0LdclYr0^7irl{Ox;4XjpheWMa~fxl+DGJ{+$Nq-unMoU9slFnzj^i_b1eA(lV|_avH#mI7=Qp1RnQPF(RHg!L+zUqCe9Z z-Cxq_5Fl=O7}j!o)iApQvDDZPff@vRdd*3u5ykb;#@N5)fJb~qapH@?wa(fvI}sD% zUDMsHdpss4j`skTDBQTb*zF6_cAmP4a=8p?)Besj#u+~C?cq1mRfxivEtQ{j2@?rK zbYC&CxYly|z+0#faNApsLR6@XARIpYA*~zB5aAB*I= zx15~SBw;Iunz_IRaI950Z!J{u$rtbH(GKjI)r_$2ATnV&)Z1GQkRKchrS>rK9#2)X zR5h;h{?xpTue%y8K%*i|5dq8zIdVRrR6LA-a!$zj1qpYPs2Kd*Tx2O?cZ0pg(Kbf;2 z992p8-PN9|=W~Shc)ZdF?#=k2m-QcOzSus>z2yUu2btdkEQ0KVdLRd@7ALafl-HF| zQRHGSw9h?bv$VRjjj$)_R$$U1fkJs+o!Y>XWJjfwyycfprIm!3^L5tm0wsdXB5c}2 z%j7#pf2cx$8b@a?&LE4##1~#Suci06YnW^L-+k~5>sKkUouWM&I~;9r5e+TVZc_6r zg4#l7?eq>Xj!;hl;`u!Rhr&Hxn!OcaO{+BmioUfMFJ6hWRGRD8q3YD@litj%AIrA8 zu!Z${yQ=s(lvE^YFvh+x8#*P?^c|JM?B%o|MD+4sBfj2J%y;K zKBWL#QDQBy%g3PmrFF+S>&fS{GxB%UYI%F2u>9TH`6Z=NA#T3%w{O2Uh<<4tm!P`- zgH3bTB5<4wJjw}kDl#&fR{?>b4r;WiQfW1VM7Vk~7I8hEAVqk~J1 z^Iz-cx1J+oimxS}KMkU}YKtsw)3&0wve_Gj+Ea-Ix=bpuV{|)N?NL2-HMSyKs(NoR^w|`$F{~;;v}fcM zQ(?BuHrph9D%1VD5el}Q&`9V1qwGe@61_%Yio49v5*AmgplLJuh^dN?>k!k23!)a_N6uk9)kk zA~-pVFQdpOWeV}~-I%u4fn*RBzjgF4!cpZKWVH0?bv@I>fkeP35a){D-lo8}hgc0p zXF8tPxLy|O_74@FeMpKe`F$R=P>r^hyYadQz`$_bX%qvTy=aZ0;T~Yq=^zHX0NuP3 zvT#1Ia3DUUDTNBMR#gO$RQU5BwY3JZA&`lQ#)Fs3Y>6@}n>-k~pO31^eE0|31UN!H z9xhVq!qPGfR^UH*W%{W<%hZ(x z< z0(S5_)BXcfg_ZG|Rl0Y?%XtefURGDn?*ZlN#LqqU^$}=xpU624QP<_ptu(fVQ<@>1 zGzE6Val|{&6K}{6EvEFR-*c(sXxu9_t`c-~>mGoOPPxh!1+SqF+ZM`v;(C&JB|VFi zpZW!eSSBR;IZgc3VkVB~#7Y{#I$t|#61vKKtMnoigOA+1jN=JJ)mF_HWYftIw{ENv;ZIqCk~>(1T?AR)C?4`$mfkdM$a%)f9_{a& zX$N(=ueV=Q3Af)8#@z!Vs~PWpf=9)S(4FYHrYc3*=;p)KwD{{t>FR&HR0dT7Ni->%>Ny|I^AzoHwX9DEIam z@b9Ws(D-c}etzo*xL71}uENaO@HlBum#Qa!FDWJxBm-Br_0Ye1%bQTcUmp(6$T4RuATRZ@4q4|t=cg< z(u-Ml;@`eFG>p={`4rTXBO}vcr*jV&w)=|JS3Yzg_tIPmVBKgBNL+yfrNT>s^@DxV zq}>#I4XK_7KmPmrP(AhnPTLDr*-|Y^8a135aJd>=TXxTJH?wdsq6-VJpdZ$1P%XFF zi%UQSOW-c)r}}H4EY@?0P_)|9!gpc^m+@CX*3&IVYn>0>FX`|QMvWq6iKRJV-&9ye zSq52z6D4>@`dO2vllIlB4N(q1|EgN7jhc-%(`=yfY2DGW(zSW{QewU>03yVqP@+B+ z?Jp??yrQ-O*~;}*k|Dz>olvh#4PEXDAT^y1rTM^KuY7ieQ1;JRf#qfdS_R#Hv^{az zUM+@JO4c$tLfKe43zwTA`fqe+bDF^eHr&?tO*nYA~HF67FCZWe4SF^7*4YA7f?SQEvIt6BE}}Yt(ktpQ&!@TuDXxP04!` zI`CKT=OiOr6lPonJs%_~2E=>5dtg%{LVnTZ(+_3hV zbDpgkkmDhT2H4;i-(nB)&2#lds_!rWuC%v!6>U!j?k$VAXiDvS%jU#co`{W?h!Yxx zm1kvxj|Vi~lPZdj^4tT=g067S?*g_J$h6-7t8)@!?R!9I#KSXoWfye0r-7C*4CF+O zSEB0VnthzO|3%s;IX{S8xQ`Z~ZNQ5Ds_N)E;ck=Thf7e>y0wqMG0@WU5pG{`ZCBrT1M#BeG^ zbCgMJ*YjaHh-UO4TrWJQDk=WnWtA$Cq4 zo2`y`C_R+=C$<+BO^^!^dPgq)CCjtb=*vEzU8VE8KoAMXIW_)@ z&lSu2WlSeTaf5s5S#)fFhFtYN@=^BxSbWKge*P6g1s|_R8aU-gie~tghca`r7+Wm@ zvfOY0tcd`ucFg!q)wZZBy3%6$Z5p`&+#y1rlt2&uyZiCi5oz z?q|B$@4D1@w4t>>%2l0sx(>c4^H#j>^K;enm-@Nnlc^u30ZF7XnOQDwbgJnK4_Ti7 zqE4n%#o9VCRiQyq(^Q%sYLGlGA01in3Y*+rX99WV4N)EN zPiYL6O6yx&EO1SB#_LnE7y$f6;dQ!Ltv#IKtzSI{9$$Rp7{3f#KDqWD*NP09 z+W?IKd9qr`cApI=Oi93$M@19Vgb)6yM_wzCX=3~b4fmrJ+>e0>MSrL^wQwlHXZL0` zJ@ry_qI^q>>}c}2^QqkT=K>NU{Syj+0H&k3UL*F*qf3!K0wCR zG+8e0peoaZMlMFb``MCD;*KV;nt96zsQ(0qhI65bMT!Wce>D2ZF%7rCo&VGwVNi8f zfBoX^+oQ9HYR7g_!PVtuje>#M!+QX!wH4D+2rf<_4$Jb^nwTcH03qt;J!FPMzB-0} z$d6DEKWf;k8PYF|1!2IcJjIfxA50=TTluJ_R_9%@r8T;}64C~Cb zpcR^rc$Xo9zjnD_FLfPFhBOqm`P#$ z7^C=+xy3&=oHcA)I&dSlK$b;;(8TZ|NYBR2n6(Z+e3%>kEae3$kBiVl1e5?pD>*0m zZbdIbv6V>felMs{a^sFHrtzN;Q|&xzIB4TGR4cQayKG|w4v!xQ*F#dZ{Wk8hz1qw& z4kkWM50HnV4CCa)u;xN1)b*j3fu7gTxB z$;ows6$4k^DAuB)QJbm08MP@_a(LoNu_byL&shWK;?!iiLb)kRxk<@`Oty zK&}#W4;T!TZ$Cd#J(CGiLuJ#=WS8W^xhh&-dltwf_cck5vi^P#iQ)BIe(j#tRdq(7 z&-2$+@K*C^xjKTyAzVO2Dnc#VdxaU?d?RJ-3-s^fJd&yv0sxV92gYmLE%uRB5HtjI z&fzh4erM}>eHrC3bBt5%UaKV~v4(4u|8&Kg}aupF%FE=SVx zv0$%FaHhIa7$IjAc>-Hjn9kpmK|}K#W_!Sz3qC&vZ;ietNoxj@mC1Jn;gY8bwRxHNuN{2=BVD3;i`Lp zwVijWw?1cv4a~_I8P)fQ>q#gVGpl)F-s7ctb3EKW&f>fMs|URI9>AzR3sDWEp_j2Xs9IL7^V*}$Xn1?@xwQfjCf%Rk)_v4Jo|8?>GNHUcG^(X+ zx7K(fF{BqNpMuRR7(;qTa>e;w5VvpZY~;k)TeKr3SFcy#yTe`V%2rgc7xNt= z-MWjT_BWa}HMNaRzI?pNi7U^#`lzEsamzT8=1PA4(!n^V>}*U73b}so#ym)i*Udu^ zEWInvT$r>r{>?HW>u(2zgp@No<`KpbPw(yj5%>Clrs3$xJ>4q02dtLKp|+exY38U@tvUxfBqVQeq~V?{TfZ%~UQ)#;%j8fUjLv$;XL77l1~+*JB@R#@A- zznoP6FG-;D$p+&UsiIh%&m~ImMh;HY zRJ@Fz=FGR^8A~;RFwMV&4nCcWtBg7 z4oj|n;+%@1Y`@E>P5Q@{rI$pbw^iNkfrJCZVwfa8;`|iJZc?b`VmR>;kwt$Lk z%sYo}RGpmo=z*P#E!zH!gA@VFxy4HQg-UvyP{HVs%S6Q`%H>nvu$_Uiy~O>8i6821 zYWz}RY^qh0G)utQ_h9_xaj_>MA;H1H(pryhuO7VAx6XYCA0i72o|1Ck=DIIuA8J*y z8V5=vR#+7C?%qT{rjas&+B(qSi+)H40j&hB{rP2AE3w`TZ<5ONR!vQq0%TfXr!|%; z5T&4<<23LFIX+aEUqyuPLYylQb?(^``_}}GmSQR4xw7kRithP9)xX4QQ!O#(TmFDI zk%;Vnu-4vQZX33D{Gnon8Nn!ix0Dxu^-DAwPs{?7s#n7P4Bf^P=x|JmZa*()l%^;sPmj?(>5uPQYPRcA|GP!3 zV?eHMC-lVQ6*R)uBEI&ySCTnHkIo|n+Hnf|)MI-RRhJyKo3~TF&q?~ihOrdMbzi;u z8Bgva^Q$eaY6a!430%a}B zNAJX<0i|o_^D!-}lMHDEp*+WL(aK7%-kpZmw}-&=${mU&eNvS9MN}QihYgCSVke#x zb6W85hS_nEFmeXE5s6!j?lC;|T-Hh(_kOBZE9sp|Sn-m1G4+(dzVr*{@;HEgnHyXk zb?ztk+gHp_wi_f;*^c~k5NU$`bRsdHcAJ%u^YW|8YRP%~!-9s2)7YN~gh(Q!*7+K0 zTtS|8m54uvgAacfAVK{WriqLPw!6@KEX zxVU)#>nMtL67ar6)n=@p-pz-8mVW+R5UcV;nU3v-?NFZ%DaNZtI_~DHpa;mD`7>Se zWysm`vraK1S!nsNZAMT;m6QKItz3P5bd6$BaNSS*PFCbN3*a=moz#cJVA3O#j_@34 zn5SlX{Wvc@zahkg<$JpSF7+#-igq57n6?t~IMA_bPs)i&I}A}pIJ03-8r3Qbb8&uv z#_?DlqDJ{Y(D*EW5nN5f01WioALK6pMmV4HQ;*alPMiv$)T6*kT1S=;LH#zkUMdn4o5)9Zh#+TH;wW zoj8e2(*m+vH61WUMgCcRwlMA&@#IC0!!Wj|! zu>$=JCzwaxci$co#>xE*)%M60_7>apL#GYfLyKwe*B?P7em@2cjSDUO{QFbJ+{YYp z+GeWGIeFKcQb%IPL_@J*IKBLnBpo~3Ueedsnn?5wn&P(8kiAt-^h16mSK>pG0Qh(9 z7c`CFYf^O1j~~A<%<*7CgJ(YpHAsD|Z@QXO=MNLy2G}BPf&L%*mMRi{um8AyKx>Ao z+WT@iYnvxM#))jVkir3c*^?)`K>@BT8-9SGnf`cYG<%&Rmb zdFX_11%v3YfRaVdIKUxdwv7sv+1+dj3(YIO%Ne7CZl1y&t%768BleW+uYu@ixrFzC zKb;Tx!J1>xt*#pbrL=Coy&18mgM-?quD$i!%HQ1{v51KHEP$I27Mi>+@L|N4k8B#UNq(6z+=9$=3iNZ97` zcJ9Q8coUqq+>-pM-6tW@p|Un(vAd1^7&q)JTjNG_Tw#Kr98|0b;)bihy%U1VtSpC= zlCe{Vu-vdeoq-@%iuZsc!r2CN^CB8=?T3DY-73jhl#JUl^4!NWz?qJz5;x+I;@Cnc z9TJxz1CdsIZ)%Rw)F-NK7eso1lvXQmoo%uy1TOQ{d())+@Wl5^PZ2R6C0K1qNJ|>e zX$<(KJ~d!A2gi-n(l(|V?I~tPP;C4jjOlgnb6qJY{)+r}ukwH7PWXQtqsO=Wz~hLN zIxz+12qlgC>z!vgxVjQJqqU(S)}ZylPPq`zxo!<&Nspalb#A?bOgl4Vdx4VEdpaW@ zgAJNXR@hZxcH6c}$)5gag#-N*u@8nOUEWHrAg0*2GJ;gk=ZM^*nF5_=;h4x^&E{|5r1w;(7;BW z`f|{RZq916V~($m(k93FI?3eH5=8+yL+=e>Jq<@K4SyF^Rd}@+$B@-c5$nLj2PTKe zMgwE7Iba4Z|M90!=wEx9@2=^O^83lm^IZ(ne*@Os2Q~39z4U`-%L4Np>Qm1Pg7P+| z^$X^2+3K5)&WwJbS?hoM4HPxiMk0X*khc{>p_+4#6l^$MNLVphw)Z32YYhWgP(-UL zDKhj(_>`JQbL6s_WEjSnuf+aJF3@-J^q)0OY%6H^c3dzY8i#s~;5ZuEpW5?I zbyH#TYdjmKLQ;(S!@rODpWDuVF?{{1G8v;8@fSQEf@XjomxMcdRKB?uceIRQp5m)0 z$T`t7?+O3p_hs@|2v)qR|EfEtaP?Ag#W-6&R3i+{@aNpNMeDAKZBxLaxaG)~0{$kN zRe|?)vII4z-GEfAa>v;Aw&%e6YW+jYSD6POD+cG6Tq2Vi{8su86{=;-+hU9*va1 zl=i6j6+WEK#b2c2){v&9K>p@GQ}6tr#)?`TGk50o7bz6k?K;P_`+l#FzFVr1SUxlu z@s<)(>lddhuQ>Al=6L>h(qUPBWl6;oJ%e~VU!L2D(qz4G$$mmuI(jPNZ6mO4 z2Q?da&u&3|tJNwz z15DI&qOMOQ{Xh|>jNlYs?4@Va-=$Kvhwy$-eHe~NHhHY4yW#dFU^n-ursb`G>4Ci? zgxHV$=RwWSRpD=rA)!m;A3Nnw5)xw7)GB=#ZWxrB+HXMFn^jpWX2}padx&o{5={sV zIL(pN=aFA7`8UW^RQYcv9H-&hqk-MQtgb1^mV#nEkCfEpV?bv982*-P{7)f~e%dcEsyWECwpq8)CYwv=II$~f-{S5HjY_+K|Vt0y2G=buf|1W z7!yXfZ{{kEmMZt&F*YQQ>cL@LKe~{Xo>rbrCz}lh&vJj3s2o4*A?2S6#QKQXRGxi2 z!)zNgLp9CM!jjt*y}2VHGCHAje*M+mV5UlB^qt>LI|o8YbmztE=bRd)Z#4^!p6A$S zlWEpZ;9URCkK_dWiwtx50Euj&D_LGJ*vp7EQcNste2tYD+&$7&_9amk)M9`!Ztfa# z{4&XC%9(y&b4CCpJa3W100y#Zg{03YUwtxl!NqNq>Bi_0>yh!TO4+S~i*ZBsEbNGm zWH24axH3xOM3(LQfKtPUlCbw64R(>S$1L$b&mXmBq($=V#IYPok{=|AJ8S=Ak&W#_`Lg&T^L;Z zw3)P50`D|*!usjyB7Qp5+!Z(`*=q2WBx+=&T*N)!Ab6Br@v2iCZxXjJaBdduQsc{lBAmQ;;zs;@x2;vF=*x+!o1S+|%FkXFI; zAsSYnyj8zeYi$wi^(*K}DzGO_r;3Q3nO~3ZBTnlmeFKojocGs0eyiu*_TqQjF~>zw z>trECAVVzItNJuSu`F-Kn8#061%-qTcgiig_8f*6W8UnkW|nO=HO3=-i`|g@(@BE` zm8%bQ0v)duYr${VBai>U z$as5BWgLE4wE({eei^@WN#ZtKJ~hLJ{~$m`IwLeuk5cu4kpI_ETHqEgkA^nJI)Nhg zhD5O+vqX48xU^nX5`^PJO7h$p(OA)U1gagKxm#4DQB zr_y3}>l$RsyR-Va4#6^&p^St0BuQi;f!coqwRI8_P=p%6t0y0XK{pR{O1@6WeW>;3+ZQMvD0ZdnZS?u7*Qx-6Z>;R`?!MChqKVpSaXo&feSA6J zUe5>)JIK5UNT+s(I=eT;T`JgdDHL$_sqBH4Z&~XmJ;V=11W1iwD^a%9>~)5GCf}XO z8<_73-%TEvd!@~&V1fFmb{%r@Z{@r%n#Bi6ax*FWHu{0BcAqLVif5< z!DCFhYTL$f2!CTf0$Ei7@v!clwCODiA*a&^6*QM40g*VlZy*OM#FKrR z;6mH<#rskAbbCaTP=mUKTnqI*!0__gy`v(ha(*!%={Cs}tEfm&q=NOLlR-N1O?V&(TX)f7$Chov#{{sfc(&hG1_d$d+ay1q zK$lJsUj#=7Z$s?-S=t(=0-5Z@#Jow27E3al?XsBpKe`BNU?$>js5x`g{6WQC1kDL| zlS~$=+0llrn_J#eA1Q61^q;}au=iz&Z^SNIa~EVMphI_ivWUjzOBlg*7B3(sN7=&qQ=!ECy3SSlo-)N*5Veo?jq#+w zqE=Yf21QXk!RczTO*j($iSQsF*e^4*l6 zrw0{hhuC%}<7~4DcG8J^Fn`-OBklHroG!0OzciW`#^cEdI#?(kpGkrutDV7SR0?p_ z1t(TDIi2PkpWx2u$a&gFYSdOl?afps9hSizawxg5tC(`pINJQyYE@LKjVs*A1PLCN zVP4sFDrlUpFDL~rjntIm*jnFhM)&0SpLZj)y>gVI|F^;?`5d2QLV>L3UtRndPn|i* z>nB;o#EkB*Wj7qvhhb7n6FuN&^k8yC%vh$!#hlj(Y>8b=UXaXlU|>Kx_OV<{02`=q z@aP_JKtMmXE#;sZ{wa860nvvSvzekKz{GKB|KgVl-(-s!JaT2#C+fx?Ipf$@7}HYwDbs){W?Y>_?>Arh!UQbF4$Q3(0aoejgYBa__iTl?&rZcu7dbhVLzEB;ngL<*$zwoE8Ef zPQewaIo9v`vuqDbDFgXW0$~lw7F4!g>3XU!-iB>o`9vX4FPo1Cp^)=Cd-@=uVa{sf zr1cg^N<$8LESgP~&QDLJx_FT^d_8m?x}L@<{^5%OK|%^9tLqB?Q3xc&Q$~VUq&z@d zDxpzW`_;*t&YCa->tx(dvhMMI9woFYMN9ON==N_lLt3V}a5)T>U-qVa(*oe~7&F8A zY5x2~LeV}h_N3v>ao#t&w)w1goBH_QvRsJFZh8F36J_|oO}G)J-G~Qm^bOSwC%t|a zi_lg2>eeZ`+Ib^p{^}Q5eIuf>y{aEi!8;?jI|`qU*^YURHCHF>9b{%@qN3p~^ADvT zq*vcl>CHE+A0vq$9meqsACmcasp)rbKlXsqrkQ69)&m{5)&*!CnQfzlhy0s_n!b(^ z5o>9vUIk^h{}0s+_J!KRDwI5@SJX5n+(~sl@ zZH5jlh)8`LGG?vmhwfE$e7m}P0B7oft3-S5cGutKY+AycQI|Xx+*EFbvERM(NAZL& zWE}KSmFvsy28r8DzSfr%K~}y3jA~IeBMI4q&9CrDsR)7}4`t~y9Y5=vU16`Qi=6u? zAPlLC6JY1?$Do07I$~qG7;{yNi;Wc%RX11pI;~^HM`Anr@uRWz*5cL0aZ=Mw&F0SY=|IQCrjV9t{=g~hZnJ}% zxB6Z#8u*SkX_0R^p-T8*#fgp%c(GX|J?l*XVq>-6Rc0r7=dO4RFFAv4kv7DGyQ<(z z2hQf{V3nUXII{2BfT{JHW&{z%_JSozJKd`U-PR_p$#QMeR~|}m%5Yk3;AtrXxN`Fn zZIet-FokWXLhB-r4Je~^O^8)@-j$We+0l#Nn;W+%Uh3eh`k*r9)c1*q^>G3*A0_|K z6e<}F>2G5WG%_pS%9iXdkFF?F5VgveIIzzfjPXI3I)7tRZ0Vudfn~>1x{b3U!@~^h zLo({y@C`x`S=}qP0jpSRwcTWKwkO+Vx#32qcK9W~ zUdX;FND29vmI`Zfn73cXsZX75qn(jzWgn39Z08O}u=w*;#1teY>wKe{y=b<@uH4~* z#9&z!M3?2}+qE(_Myq4@G6q@09OmfSRI8{_Rw2oC*x2xYD&GIY$M$6zP~S9;0ybf1 zV6S0C%jB~<98#k3I2U5J6?wn;`OW9wxJCl6O@xY#cL5O2kyer zCj1vXq`%<1h$RJZO+B*jh1<*h1j8AX6KLX`V9kRh=k|YX7CHh^Il$fq(WsZZ)YxAO zdy7uK`<n`xLdtO>+VkEs5e5K3%Me zZ^~Rx8ZHUGZSp?JN~y>^B-tgoRcxL9VAwj1u$tok=&-+Q+31~qP#DeWrQoG@Kt`d< z=(%RyvKPr0)PIb1@OiGAAzacs z+!LI^3Y2b0T0dPRbghrdbel5Vh4H59jZD$Ty`V1W44HX7)ZE+%`-$x6Ptj7_L$c+; z{Ed%keCqmAC9@=l9Ym*o)$?wf%s$BarNa{xA4`ZES4%$|b@k9v;o)I?xPQ|AWm4wP zVI8?d!{zoFp?M&-EN@Zfm((p_yAFZ&ZB5qqB#^Rk)0wUFzqyawnC%{bqFMBx;D3N3 zDcO<8`NejLrS6-qU!rY=?=JqFnT6K@4Q@H0e-K+4*FY*hgsG2H;Y;V3jpe2e&XOnU zlMCdhBQIKeCVHuc2Rd~=C%W*=I!XuS8!ayEk*o+V_dn_Mba2I&PVD<)&G`jK#4wE_ zAWaEfnIz=I$^2-yhSpj$Gmg&}uxaTNjxsY=!*8?(zOTykQ?%2|_v;&4a}&z~JWU z)2Jz=b?ht}DmT42Axpd9pbukfD63Yr__aSWxu`_`C4-4NAznCcn@i7Hsq5G8nO>0JH{~C0^^m@CVRk$dXiYt0w^ui;kEVwP99l%T4qT+t{zt^w z)l>eP$@pXFq)sR2b%cLDDM7UWgak)D>B^NS(UiS#@hT9_9m1*PWaaHk zWPBfOOjE~->v)k%Al=d7#hGMJuI-6j-GS*Pt(b472_;A?u088?s>n~IKkUGBxUot= zkEbtQfgq8plQd!`dy8O?mG&{Mdwprl7p*J?Nt8pSk&lJJ+^m{2oy7Lkc76TycfpoV zADGEp9#LwYq!2>f)}D$1xCU(z3wIY}roZmywq3w~P^#TtrtB^CwMn`+9(A2^Y)`F^3bszAMdI&~kMg6mtSt00qi zeo|gRi4R?t-J8BaA^s8%x<0WeVFV?D!TQFeYw_wv>|n6ZYtv>oqt6P~^H{xafL3j$_2ks~rnVtEfdmGfp=v>s-H zn+m7(gZgZQnrG;cD6g1fOuX47r#F6`y1C!A!=R3e;4ct}z&qAy#;JC72^}_we^2g2 zzLcr+qFkC=l?7YjiI@3C0eq`~(7iczTc5>@y?`leWG}Bg7Vt*ZTewHFC z>EW7cYyM36kOiUe#6(dt(Y@n2=43XUm;h$?`IEgUP02;kkLHlxAA)yT-P^n>&+uNT zD;|nHsFYVqq`mdqpXEi4_lnLM&Ga~ZPI+1X$G3*>HX@`ctF%wLGtnDhz>sE{pq~oo z2%YO=a89&E{*=6^^d(D@7ae#z@wVYK9%_a$o%O&-FXAD>Qt(9?e0a{ue_$KT?ixnRSn!6DnI z54gx<^;E5-)9+<#axvBSVYhAVH#JOYfEPNLomHtO$5t^pWg7_gOJgT)n3}$3Lc!E# zQ|QThCU^Kd9(mrk(d4Oi)Q&H(f-@)N%(_(G5{h-p@qvrxq?WuV`Z%E9o7n^6+G2d_V&>K$7We#qKj=4vk z4oTK{{7b@+e*Ln$_JsfV!QGp^?vcKGK;8QZWS?txp$)ZMHrWRfH#usDmlX!BpN`)g zu~tM*a!U*YHl2|!?g>p_`ZltR{;eOf@I@IPlC7>W(ud85BjQ^>tD|nh*8#@Z@APL{ z@8vBMwi7lJGE|QK!$OGfV|lrg9n Z1>=3mH4}Rh-PFi5AN>nD12OIw{x37``$+%* literal 0 HcmV?d00001 diff --git a/thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_test.jpg b/thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37488297918d882f750d8a4be65114388350d95d GIT binary patch literal 89457 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 I=!MRI0Z1{Vr~m)} literal 0 HcmV?d00001 diff --git a/thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_usage.jpg b/thirdparty/libxlsxwriter/docs/pic/libxlsxwriter_usage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0d798217f964882d63822fbda4bf6cae93f34a2 GIT binary patch literal 30936 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 B2SWe= literal 0 HcmV?d00001 -- Gitee