<h2>2?2等于多少</h2>,chernykh.net/?953416

poi-tl(poi template language)是Word模板引擎,使用Word模板和数据创建很棒的Word文档。官网地址最终效果:1,导入所需依赖
<!--
poi工具类-->
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.9.1</version>
</dependency>
在1.9.1版本之前是不支持多级表头的表格生成的2,创建模板这个模板比较简单,可以直接下载,不需要任何东西模板下载3,创建实体类封装数据(用于填充模板)userInfo.javapackage com.myqxin.pojo;
import com.deepoove.poi.data.TableRenderData;
import lombok.Data;
/**
* @author: myqxin
* @Desc:
* @create: 2021-11-29 10:45
**/
@Data
public class UserInfo {
private String name;
private String gender;
private String birthday;
private String remark;
private Object picture;
/** 图片 */
private Object netPicture;
/** 表格 */
private TableRenderData table;
}
4,以本地方式生成word
public static void main(String[] args) throws Exception {
// base64转image
BufferedImage image = WordUtils.getImageByBase64("iVBORw0KGgoAAAANSUhEUgAAAjoAAAEECAYAAAAh0J6AAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnQl8VNXZ/5/nzkz2hSUgCLJMVMRWq6JSCSraVqwVBFzfAm9fQUgygGCLdakLVf8VLUsAWUVUkvi6QRQr1b7Vhl1QLCDKHkDZw5ZkQiCZuef/uTFDh2GS3Jm59869M798Pn4M5Dzb9zkMP8499xwmfIEACIAACIAACIBAjBLgGK0LZYEACIAACIAACIAAQehgEoAACIAACIAACMQsAQidmG0tCgMBEAABEAABEIDQwRwAARAAARAAARCIWQIQOjHbWhQGAiAAAiAAAiAAoYM5AAIgAAIgAAIgELMEIHRitrUoDARAAARAAARAAEIHcwAEQAAEmiGw+MGMZ5h4uN1r72XziqozSd559jr7H/otPLb/gwczegrm+XaP/Xbl14AJAiBgLgIQOubqB7IBARAwkEC9gGH+s1/IChai74DXK9cGplEyPPNt5fcST9tG+oSO11bXUTB/yoIfsXlt/4DQMbB5CAUCKglA6KgEhWEgAAKxS6BexAh6b+CCikXNVbl0cKsM/xWd5sbj5yAAAtElAKETXf6IDgIgYAICjQkdRdScTpSXMokclWneo0YsqfSFYSAAAhoQgNDRACJcgAAIWJuAmhWdhr049Y+pZKbhivgRQjw76PXK56xdPbIHgdgmAKET2/1FdSAAAioINCZ0Pvrv1h08Ns9qYuokiFclnZHuuKP4eOUHwzLnkRCvyUR9/ff4QPiogI0hIGAwAQgdg4EjHAiAgHoCi4en/VQIaaB6i3NH3r2g8nk1tmpWdHx+sEdHDVGMAQHzEIDQMU8vkAkIgEAAgQ+GZX4uE5XbiLeFA+euBSefUWOnZkVHjR8iwh4dlaAwDASMIgChYxRpxAEBEAiZQMmDmV/JQuTf/UbllyEbh2AQyopOwyvpDxHR5sQztgeUR1khhMJQEAABgwlA6BgMHOFAAATUEygZlrFfluw9755/fJ96K/UjQzlH5+xYpncGvlbxgG9zsiDe7Nu7oz4yRoIACBhFAELHKNKIAwIgEDKBkgcz5Tp3heO+98gbsrEGBv6bkalB4AS69QkeIspsbIwGqcAFCIBAmAQgdMIEBzMQAAF9CSwamdLe5nF8PWBBRXt9I8E7CIBALBOA0Inl7qI2ELAwgUUPZl5jY5o/YEHFNRYuQ/fUW4xc8jALyncI0YfPJLlrk05PcgiacGT+XYdb5H70M5blWQ5Bg5Rf654MAoCACQlA6JiwKUgJBECA6MPhGb+RiV0DX6v4TTzxaBAu05qqmUm6/fird37qG9NyxIezle8TTieN9wmdWpvUjmXxTybKswuxEkInnmYRavUnAKGD+QACIGBKAh8Mz3xICPr5wAUVyhtOcfXV9qEPL6hjWiwkyXVybr+NSvE/CiDR/cSrd+U3BuOCoZ+m+q/oxBU0FAsCjRCA0MHUAAEQMCWBkmEZT5OQEga+fvJpUyaoY1JqhM6PoubMu0R0h5pUAleB1NhgDAjEAgEInVjoImoAgRgkUDI8cxaT2DzgtcpZMVhekyWpETr+Dn7ci/PjYypBNEwRP4Jp7Ml5/afHGzvUCwKBBCB0MCdAAARMSaBkWGYJEy8csOBkiSkT1DEpNULnxzFcSkSXEdHShNOJ9x0u7FvdcsRHLwmJ3iIhbmZBZ/f6QPjo2DC4NjUBCB1TtwfJgUD8EigZlvmFLItxd79R+YUZKbR8aMmLgsSpcHM7Of+uRu/hUiN0gsXFHp1wuwG7WCYAoRPL3Y3x2hb3bqu8OvtYSpptRN9/HK6OtNwPe7a9QNjlUlnw7EGry6d/cEPbvjKLbsr3iu8PcrJmy4K3+H4daTzYN03gg+GZe73EN9392sm9ZmLV6qElwwXTeCIuZxbribgqnPyOz+vX6D1caoROwIpOsylgj06ziDAgRglA6MRoY2O1LJ8YIaJSmaU5PqFTU+2dJIjyWJZuH7DmSP1rt5/edkHqqWrvu0Lwp4HipLGf1YsnIb8jWLpf8lI7n9BRRI4g6iRYenLQyiP1b8HgS18CJcMya+uqKtLue49q9Y2kznuLEUuGMolHieiARGLSsVcH/FOdZeij1AidYF7r38wicpGgrxNOJ45QHmWFHh0WIBBbBCB0YqufMV3N4l5tHpZY5LNH6nPX2iOHA1d0Snq1zWaWxwuiewRLv1QEibIqIyT54ZRU233+qz71tuSdJdXZBim+goELXNGJabgmK27x0LS27LB9O3BBRZtop9Yq96P7hawIHFFJxH898Wr/v+uZUzjn6PzHRsxRXj/3bU4monW+vTt65gzfIGBmAhA6Zu4OcjtLQFnJkW3Ue+DqI4v8sTQImU/qf4/p5ZQU23P+gqbezuFdLMjm8l+JaRBN3QesOlp/Jsk5fprnvjRQODVvghGhEFg8rMXPWIjCga9XXBmKnZZjWzz04SCWeDwJ8gpBk07O7/+hlv4j9XXuo6sfBU6gTz/Bk0UUfEykecAeBMxOAELH7B1CfmcJNDxWUh4XZPl+k4nm+MRKY6gCRU1j4sdn73tMRUJaQCy/z0RbfatIaIcxBBYPz7hdEjxuwIKK242J+J8oLUcsuZOEeFQwJ0ksJh2fd9d7RueAeCAAAtoRgNDRjiU86Ugg8BFU/R4bt/dVIUkvNbdnJvAxVbDHWYoYYhb1r+L69vn8aCf/VqqTpiiblMWPr/EShE/jjX6rz4VZSbU17ViyZUlCtBIsZQqZ0ojkZJKkBCY5Sc6uI7bTaZK5lljUsJDcso0qmOi4jaVyz5m6Q2Sz9WeWbxq4oPJBHafVOa5bjfigr0w8nplbE/GkE/P6vWVUbKPjpE2cqGyEHu71eHolezxVnuTkeXV1dX+oeeqp/Rl/+UtPwTzf4/Xervza6NwQDwS0JgChozVR+NONQMNKS14zAY769uf4j1NsSZY+UDYq+3/flK9Q9+iU5GS9E37xfGTgqvIx4dsbZ6mImcS62iuYxeUsqJsgvoSJuhJRJyJKbjaTbnXNDiGiGiI6SETbiHgns7xVsPSdqPV+M2hh1TE1DtSOaTHyw1tYSOOJRGdBNOnkq/3fUGtrhnH1wkSSlA34mU3mw7zKUVNzx/EJEyqVcRkvvfS28n97Tc1In9BxSFLHel/Mj3jq6v4BoWOGDiOHSAlA6ERKEPZRIaCIEJLkAf6PreofSdnlBZJHGha4wdi3isOy9P+EzfvXwE3I/is6KgoKukenJKfNfSpsgw5hprFE4tsBK4+ODNeHXnYf3NC2l7DJN7CgnoKoBxE5I4qlTug0FeIkEf2DiNd5hHfNva9XrQ4nn5Yjl/QmQeOZ6HJlD86J+f3nhePHDDaBqzCKiJFl+T33E08sSnvxxbtZkh7xFzn+ObeaMCHDf0XHDPUgBxDQkgCEjpY04csQAv6vgPs/tmpK6PgedSkJCuIvmjsLx7ePhwS3Zlka63tlXc8CF+dkfSgRHWhuz5GeOSi+37+x7ZU2If+KBd0qVN6jFFJOkQuds+H2U0d62vaicmjfSmbxDyHT/52Yf9empvJpPfyj62VJOQdHXEeCJ52Y329mSPmbcLBaoaOkXpecvJSEyFFThhDiHkUsqRmLMSBgVgIQOmbtDPI6j4Dv7Bsiuj7Y46nmDhBsWLV5OpitL5jvnB5BlHX2FfUfz9A554wevdqzuHfW30jwnkGrykfrFSOY35LeWX1YUH8h6E5iukTX2BoKnfelB5Yv5d/c5J8vE+2QiRSOS07O76dckVD/1WLEx1ex8D5KTH2YadLxef2n6lqngc7VCh3fYysltbOPvJgfUfbrKOJHED3rfvzx5wxMHaFAQHcCEDq6I0YALQj43rgSgp/3X40JeC086P4cNfH9Hl016sNvj1DYcZrLRRDxhzlZS2Uhtg9afWxsc+Mj+fmHOVnXCqL7BdG9RNQ5El8h2WoodJ6SJq4+wB16NR6f9wqhvDnH7YnpNiKadOLk6Un03n3ekHI2+WC1QqfGbk+32e2rWdlP5bdnJ33ixHksy6/JktSXif7sKxfCx+SNR3qqCEDoqMKEQSBgHIF/9SH7ybo2S4nFNwNXHv2DlpE/6nFhSl3ymQdZ8FAi6qmlb9W+NBQ6D9ne3C+T1EFNbCb6UhC9kcz8xoF5/cK+o0pNrGBj2kyYkFaTlPQoCeEJ14f7iSeC3o+lVuj4r+j4csAenXC7ATurEIDQsUqnkGdcEXi9T5ekzDr3UonoqwGrjv4x0uIX92r5U2ZpJBE/pOrNqEgDNmWvkdA5QB32PGWb2CWMVBWR8xoTzT3+av9vw7APyST1xRd/KTEPJqLBzPyZEGITM58JyUnD4MrHHgt6P5ZaoXPOio6KBLBHRwUkDDE9AQgd07cICcYrAWVPUnW1d6lEvHrAqvInwuGwqFebm2wsRjc8ngrHhfY2GgmdD6VBKz7kgTdGlqB4j4Rtxon5d66IzM+51pnPP9/V63AMZqLBgqhaEqJYttuL3Y8+ekTLOD5faoVOsBUd5UwdifkhIcRmx+nTDwQbo0fO8AkCRhGA0DGKNOKAQBgElvZslVFrl5Q9O6WDVh97Sq2LRTlZt0iCfk9Md6q1MWycRkJngu35ld9Tl97a5M1LhaC/+m9eDsdvxsSJDwiiIcScw0IUC1kurnryyTXh+FJrE+45OorAUfbjMPM7lY899oDf5uTNjb2KrjYnjAMBMxGA0DFTN5ALCAQh8O4NGa0SpMSPBYtPB648OqEpSMoGY5n4CSIxyLQwNRI6I21v7PGQLZxHV0HRyG0OLpMzTx6TiF6seOyxr9Tyy3jxxetkZuWxlPJ46itF4FQ+9lgxMQu1Powal/zCCx18m5F9Aicwtr9wamyMUfkiDghoQQBCRwuK8AECOhN498Z2bRyyZykRLRm46uh5G1IX3ZjVnmV6lolydU4lcvcaCJ1yarv/MdtkVZuQVSXMgjzOLWeHMvMcj8fz3Kk//Uk5nfm8r4wpU1pRba3yWEoRN62FEMUSUVHlE0/sVBUPg0AABAwjAKFjGGoEAoHICHzcp0272jqxlInfH7Cq/C8+byW9s/5AgpSzT1Iii2CQtQZCZ6l056r3+X5Vh96pqUq+YH+pnFbR57yxzOOrHntssu/3M15++Q5ZlpW9N/9FRMX1qzdPPPGJmhgYAwIgEB0CEDrR4Y6oIBAWgUU9W3W02aWPlRUEkngdCZpCRFeH5SxaRhoInRekZ1eU8cURbkRuAMDeKo9zm/KYKaMRJGuZ6GtB1JeYDyvs7adPF5+cMEG5igJfIAACJicAoWPyBiE9EAgksKhXi84S24uISKONuAYz1kDo5Npe21lHCRdrkbncbl+pnFp5/mrO+c6Lqh5/XDl/CF8gAAIWIgChY6FmIVUQUK5qEIJeYaKfWJZGhELnJLU68nvbtLaa1G/zHPV02a6s5CSo8se8ScjyWPcTT5y9WkKVHQaBAAhEjQCETtTQIzAIhEagpHebp0iIoCfjhuYpyqMjFDqf8W1riqWhN2hRhdx+7zI5pfrmUH0Joqfdjz/+Qqh2GA8CIGA8AQgd45kjIgiEREB5o0ry0jxTnokTUiUNgyMUOi/b/rRsK10Wsjg5L1V73QFP5x0XhlOCYiOI/iF7vf/T2JtZ4fqFHQiAgLYEIHS05QlvIKApgfdvaNvXZpPnk6COmjqOprMIhU6+bf7WM5R4WaQleDrsXk5JNefcfB6yTyH235y25K9/G7NmWsi2MAABEDCEAISOIZgRBARCJ+B3o3roxma2iEDoVHPaiTHS7JaRliccp/d4O5VFfNjgL1PfKe3s2KFsZH64IM89I9K8YA8CIKA9AQgd7ZnCIwhETKAkJ2sqEY2L2JEZHUQgdJbzTevekEZcH2lZ3o67V4jEmoheT78iac3q65M+6+WXS0FBnvuRSHODPQiAgLYEIHS05QlvIBARgQlE0lU5WW+b6hLOiCoKYhyB0Jki/XHZZr4iov05IrFmu7fj7ksjKautff/2fmmvdyaiRH8/TPRe5iH3AxMmkByJf9iCAAhoRwBCRzuW8AQCERH4qM+FWXW1te8zU0R/kUeUhBHGEQid0fa5m0+JlJ9Gkqbnol2rKOFM2KcqSyR7hmZO2mnn2sb2CZXamO+dnFt1NJI8YQsCIKANAQgdbTjCCwhERKDk5y26kM1eQkRXReTICsZhCp3TlFjtss1PjaREkVL9rbf93ojOIBqUMW9VS+lIc0JpAwn7wIL8k3siyRe2IAACkROA0ImcITyAQEQEFvfOupQFLSGibhE5sopxmELnC75h/TzJ1SOSMr2ddn4hHLU/D9fHjclLll2auEntitt2IXP/aa6qbeHGgx0IgEDkBCB0ImcIDyAQNoEGkfMxEWlynUHYiRhpGKbQeUUaV/o191BzVUPQakSqe6O33fc/C7fUSxwbvrwp9W/XhWi/S8j8G4idEKlhOAhoSABCR0OYcAUCoRBQ7qyysf0TQRTxmTChxI362DCFzhjb7I3VlBa2UPF22v6lcHhCFSr1uDKkYz/cmzEnmUhkhcFvu91mu33SiIrdYdjCBARAIEICEDoRAoQ5CIRDYPH16a3Zkfh/lrt5PJxiA23CEDpestWNsL0hEZEtnBTk1Mr1crt9YT/2+m3GlA3J0qmw908x0UZPAv1qxjB3eTj5wwYEQCB8AhA64bODJQiERUAQ8Qc5WZ8TUdiPYcIKbBajMITOer5mw0zpkbCFhrfLtq+FzXtNOAjuTHtz+QX2HyI7QfnHwMtbHHL/YsIE8oSTB2xAAATCIwChEx43WIFA2ARKcrLeIaL7wnZgdcMwhM5cyVW6lm8ISxjK6SfXyW0PhHXI4PXJny2/InGNFiKnvmvMtGhqrvseq7cQ+YOAlQhA6FipW8jV8gQ+yMmaIoji+/TcMITOONvM9ZWUEdajJ0/XbZtI8l4Z6uTp5Nix8Vep74S9J6ixeCxo+tR899hQ88F4EACB8AhA6ITHDVYgEDKBkl5txhCL6SEbxppBGEJnuK2wRhAlh4pCzjy+Rs46dEOodolSzfHfphdUSexVTj/W/ItJjJuaV42LQDUnC4cgcD4BCB3MChAwgEBJr1a3EUufGhDK/CFCFDqbpSu/mcKPXhFOYZ6u274jyXt5qLYPZMxYmypV9AzVLpTxTOLXU/OqPwnFBmNBAARCJwChEzozWIBASAQW3ZjVXhK0jgR1DMkwVgeHKHQWSCNKV/JNIe/PES3KV3lblzd3gvF5lG9Le6f0Inv9jeT6fgk6wOS9fmp+zX59A8E7CMQ3AQid+O4/qjeAQEmvrI+I6U4DQlkjRIhC5w+2gi9PUOuQz7/xOLfuIJYvCQXKlUlrVl2X9FnI4iiUGOeOFR8X5FVjboQPEJYg0CwBCJ1mEWEACIRPoCQn62kiei58DzFoGaLQGW5bWCGIM0Mh4W19eIVocezGUGza2g9s65e2oEvgjeSh+AhrLNMzBbnu58OyhREIgECzBCB0mkWEASAQHoEPc7JukYmU83Lw5U8gBKGzjS/b8pL0p+6hAvR03bKXJKF6I7FEct3QFpN22anRG8lDTSGk8TLTrdNz3f8KyQiDQQAEVBGA0FGFCYNAIHQCJb1bbyLBYW2iDT2ahSxCEDqF0u+W/Yt/qfYSzXoIcuvDy+UWx0I6+2ZQxtxVLaXQ9/NoRp1pU0GuW/NX2TXLD45AwMIEIHQs3Dykbl4CJb2yJhHTH8ybYRQzC0HoPGab/EU5tQ3ptnGP87uDxNRebYUh3kiu1m0Y43hSQV7Vo2EYwgQEQKAJAhA6mB4goDEBPLJqBmgIQme47c2jgiTVF2nKbfYvkzMqVK8AhXkjucYzxs+doFsK8t2l+gWAZxCIPwIQOvHXc1SsM4GS3llrSVBYVw7onJo53KsUOru5647npefUvzXF4rTHuaWaiFqrKVS5kfye9DkpzELVeDU+Ix8j1hbkVYe0ghV5THgAgdgmAKET2/1FdQYT+CAna7wg+qvBYa0VTqXQeZf/a/kn0h2q99rIF+wvldMqVJ9/MyRjyobECG4k1wu6YDF+Wm71ZL38wy8IxBsBCJ146zjq1Y3AhzlZF8pEOymMqwp0S8qMjlUKnSdtL68+RO17qSpB8lZ4umyzEVOamvEa3kiuJlyoY2qJ5S4FuacOhmqI8SAAAucTgNDBrAABjQh8kJM1RxDlauQudt2oFDoP2d48IJN0oRoQcrt9pXJqparVHK1vJFeTX8hjBM0tyHfnhWwHAxAAgfMIQOhgUoCABgQW9Wp9ncS8TgNXse9ChdDZxxftfkb6S1c1MITdc8TbeXtLInI0N16vG8mbixvOz4VXvn7aqFNfhmMLGxAAgf8QgNDBbAABDQiU5LRZRCQGaeAq9l2oEDofSPesWMJ3qTrZWG6/d5mcUt3sm1b1N5JnFlRJQp8byXVo3OKCPPfdOviFSxCIKwIQOnHVbhSrB4FFOVm3SDgBWT1aFULnWdtfVv5AF/Vu1qmjbp+n0w5Vl6XenzFjXZpUYam34SSmW6fgxORmpwEGgEBTBCB0MD9AIEICuLQzRIAqhM4I2xt7vWRr9goHT4fdyympptk3swy7kTxEFM0Px6WfzTPCCBBomgCEDmYICERA4IOcNjcKEssjcBF/ps0InSN8wb7HpUnNrtKIhDNl3ot2OZsDeGXi6lXXJX9u4I3kzWUU2s9Zpj5TXe5loVlhNAiAgI8AhA7mAghEQGBxTta7THRvBC7iz7QZofMx91u1SLqvWWHivWj3CpFQ0+Q+nra2/dv6pb+ubGpOsDDo9wvy3JhjFm4gUo8uAQid6PJHdAsTeD+n1U9sJG22cAnRSb0ZofO8NGHFbs5ueiNyUs02T4fd3ZoqINo3kmsJl1lcOTW3+hstfcIXCMQLAQideOk06tScwLtXX7fSkbL3IiK5k+bOY9lhM0In17ZgVx05sptC4O20c7Vw1DZ5mGDUbyTXtoczC/Lco7V1CW8gEB8EIHTio8+oUmMCcy8cmZKaZDtGxEkJqTtWO9K+SybpzNUah4lNd00InePU6vB427QLmipcJLm/9Xb4/idNjbkp9aPSSxwbVR0gaBHIZ2q9yVmzRpW7LZIv0gQB0xCA0DFNK5CIlQgUOV0uIprpn7Mt8fDmhPRNJyXHieZfi7ZSsVrn2oTQ+Sf3XfOWNOSGpkJ6Ou/8guy1jV58eWnCxnU3pnxkqdfIVSJ+uCDPPUPlWAwDARBoIAChg6kAAmEQKHK6viCinsFMJdvpw46Mf2+xJ+3rRiTah+E+tk2aEDoTpaeWb+dujb4uLlIrN3rb7ftZY4AybMd+uCfNbDeSa9RO5i8LcqtiUcBpBAhuQCA4AQgdzAwQCJFAkdN1HRGpuu7BkbZllSN1WzpLtVeGGCZ2hzchdPKl+dvOcGKjm4y9XbZ/KWwehX/QryEZkzckSjVXxSo8FlLPqfmVquZerDJAXSAQKgEInVCJYXzcEyjKdk0iQX8IBYQ96cBGR/omt2SvbPa16VD8WnJsI0KnitOPj5VmtWqsJjm9Yr3cdn+Pxn5u8hvJNWmVEDx1Wn7V7zVxBicgECcEIHTipNEoUzsCRc5Re4lEWG9aSXb3/oT0jTvsSQd+KkhkaZeVhTw1InSWcZ+1b0rDgz4OVKrzdt72b2H3Bt3wbYkbybVp0Q8Fee6w5p424eEFBKxHAELHej1DxlEksDA771ZJSJ9pkUJC+uYVjpTtrUnyXK6FP8v4aEToTJYeW/Yt/zTo5Zxy+ol1ctuDQfendErYueFXKW/H7OOq8/oq6BcF+e7PLdNvJAoCUSYAoRPlBiC8tQgUO10Fgmisllnbk75f70jfXCfZ3Y2+SaRlvKj7akTojLLN/baGUoK+Nu7puvUbkuQrAnNPlk4dfyBjmlsibzytckwryHOPi3ofkQAIWIQAhI5FGoU0zUGg2DlqpyDR5GF24WbK9oo9CRkb9zoSD10tiDLC9WN6uyBC5zQluV22V9OC5S5nHl0jZx0J+sq5FW8kj7g/TDsLct2XROzHYAdjZ6fdzUyvCZb6TsutXPvInLR5Mkuv1X8/O7mDYNsngqWHlF8bnBrCxTgBCJ0YbzDK045AcRfXVUKif2vnMbgnZvmMI33TWkdKWTtiz6V6xzPcfxChs4ZzvnpVyrs2WC4e59YtxHL3wJ/dlvpO6UWOHbF0KKDqVkgkrpqSV71RtYHGA8fOSXuGif6suBWCJzOL+wRL9waKlIZxlxfkuR9Qxjb8+jZvbcId9oTaSYrQkeS6fYJtq4Xg9yTyTJ2aX7Nf43ThLs4JQOjE+QRA+eoJFGW7/kiCXlJvEflIe/LuLxPSvxVsOxU756cEETrTpUdKN/A154kW0fLoSm+rI+cdwHhFwurV16d83uQVEJHTN7MH8WhBXvWkaGY4bk7a24Lou2l57uf8v/flNGZ6qwxbQu1SIWjqtHz3osBc/Vd0olkHYsc+AQid2O8xKtSIQHH2qE+EEH01cheSG8lxfEdCxsaDtoRy5a2kxJCMzTY4iNAZY5uzsZpSzzsI0OPcspNYXOxfQlvbD9v6pb9p9RvJI+sK898LcqvuiMxJZNb+4qbhsdQUFt5evhWZsXMzerKQ57Pw3i7YNpmI7lcTURA9q4gnNWMxBgTUEIDQUUMJY0CAiAudrhqOtsjgOndCxsb1jpQ9nYhk5S97630FCB0P2WtH2l53ENE5n0fe1odXiBbHzrnFXCJv3dAWk3fZqfYy6xWuYcaCagry3SkaegzZlb/QCbZ6E2yVp2EvzmpB9BoTKW8bKuLnHd+jrZCTgAEIqCAAoaMCEoaAQGHX/BuZebmZSNhTd3yRkPqdg21nGj1Ez0z5ns0lQOis52v/PVMae975OHXOLd8zn3teUYzdSB5ReySJc6aMrFodkZMIjAOFjP9+HP/NxfIZ+xblERYRKYdlfu9b9VHGk6BvlRSY6X2/VCB8IugLTM8nAKGDWQECKghEY3+OirTqh9gc5VscmRuP2hxuZVYjAAAgAElEQVTHlb0s5v8zHSB05kijS9dxz3P258hZh5bJmcfPOVMnBm8kV9vioOOYxfipudXKI6GgX4rYIJvUXcjcnYnahhus1sMFM0dXHQu0DxQ6/uKGZLkjMz2ibDqe8fDxymCxsUcn3I7ALlQC5v9QDLUijAcBHQgUO0e9L0jcrYNrzVyydOZ4QuaGTbbE7y9mFh01c6y1owChM8428+tKyrjGL4zsyd5yhEi08/1eDN9IHgnddwvy3PePm92iC9lqu5PM3Ym5OwlS3lBTxE2tTLSFiLZIgjwyU3k4wTwenq1G6Ci+feJHeSzl26jse6zVsKLTbArYo9MsIgwIkQCETojAMDw+CRQ5XXuIqLNVqrenbludkLY1haUz5jsxOEDoDLMVnvHfYC23PVAqp588u8JTfyN5+pwUJtHaKvwNyvN7IlLuBjuhiBnlPyFoi2Tn7ySZtkzOrTqqZx7B9uA0bEqeSkQVyibkxl4VVztOz/zhO34IQOjET69RaZgE3r14TJta2XskTPOomkmJh79JzNhQIdkrzntFO2qJ+QmdzXzlpinSo/+52Z3FKY9z62kicfZyzyEtJm9IpNi9kTySPthtNuekERW7I/ERju255+jQPb7Xx/1Wb/YF22DcIHCU/Tir6s/ScdSkK2foKDn4v7EVTk6wAYHGCEDoYG6AQDME3soefassZE3ut4oWbEk6dciRuWGrPXF/d2JxQbTyqI/rJ3Rek0YuW8U3nt2LI1+wv1ROqzi7mhMPN5JH1AtBtxTku0sj8qGzccCjq3qBE7hvx/c2FhEpV3kEHaNzmnAfwwQgdGK4uShNGwLFXV2jBdMMbbxF30tC2ncr7WnbWjDX/TQq2fgJnT/Ypn15glpdV5+H5D3p6bpNec08VfllHN1IHnYbmGjU1Dz3rLAdwBAE4oAAhE4cNBklRkagONs1QwgaHZkX81nbk/ZvcGR8c0qyVRp7wrCf0BluW1gliNMVOnK770vlVHf9ak4n+/aNv0p797wDBM1HMeoZzSjIcz8c9SyQAAiYmACEjombg9TMQaCoq+vvxHS7ObLRPgu2Vf2QkLmhzJ54UNkr01L7CAEeG4TOVur+3cu2J5VD40jYPIe9XbZnKW/LJ3P18Qcyp8fbjeThYTfBCcnhJQ4rEDCOAISOcawRyaIEipyurcrOEoumrzptQUJOzNi80p6yoy2zR7+ThxuEzkLpwWWlfGv9/hxPh73LKKm6/vu4vJFcdZcCBgraVpDv1q9X4eYFOxAwEQEIHRM1A6mYk0CR03WKiJLNmZ0+WdmT937lSN/slWzVyt1a2n41CJ0/2qasPUptepKj7gdPpx0XKUF+lfLOsk4JO845KFDb4DHnraYgL7pXQcQcURQUcwQgdGKupShISwJvXjaqta1W6HoeiZb5au1LcpwsS0zf8IOUeORa3ybhiGM0CJ3h0sJjgrm13GH3cjmp5qYrE1evui75c+WaAHyFQMDG3EbvM3NCSAdDQcB0BCB0TNcSJGQmAm9dPOonsiw2mymnaOTC7K1xpG9a50gp60DsPec28ZDz6VZHZezc/oL050tFwuky70Vlzgvs+7bemfaGk4gSQvYX5wbM4sqpudXfxDkGlA8CjRKA0MHkAIEmCBRePLoPy/K/AOk/BOzJu9cmZGyWWKr58bXwUL+61dHbPHj5P6Tbb/J0LFspJVZfP7TF5LK4v5E8VI6+8YJ+UZDv/jxcc9iBQKwTgNCJ9Q6jvogIFDtdgwTRooicxKixlHBsW0L6xsO2hKM3EJFy/o26r2519KT08ppDyZktPR32XIYbydVha2LUvQV5bv/bvyN2CAcgEEsEIHRiqZuoRXMCbznzH5SJF2juOIYcslRbkZC+cYMteW8XZrn5+8C61dFD0puH6jqXlfXOfL/u0oRN2HwcwXxg4oem5lW9FoELmIJATBOA0Inp9qK4SAkUZeePIcHTI/UTL/aO1O1rHGlbElk6438b+Tnlf9+tfdmzaU+eyu6y5NSNKR9dHy9sdKuTxSMFudUFuvmHYxCwOAEIHYs3EOnrS6Ao2/VHEvSSvlFiz7uUeOS7pPSNx9hx4sbA6hZ3H7Bi2cVt0ge2eOUi3EiuRe/5yYK8qhe18AQfIBCLBCB0YrGrqEkzAsXZo54SQjyvmcM4c8S2mvKEtA3f2lP2XUokLlTKH3/t05tv6/6CBzeSazQZmCYU5Lr/rJE3uAGBmCMAoRNzLUVBWhIodLomMNGzWvqMV1+OtC2rHGnb0t6+t33yhcnbLo1XDprXLej5gnz3M5r7hUMQiBECEDox0kiUoQ8BCB3tudZmuNfu6rcys7rDEVxdoAVeCB0tKMJHDBOA0Inh5qK0yAkUZrueZkHPRe4JHgIJVHU8vLxswPKf1KXUtAadCAjg0VUE8GAaDwQgdOKhy6gxbALFzvzHBPHEsB3AsGkCTO7yK3as33v7GrxiHvZcwWbksNHBMC4IQOjERZtRZLgEirNHPSyEmBauPezUEZDt3l0Hbvr34UPXftdLnQVG+QgwiXFT86oxRzElQKARAhA6mBog0ASBhV1dwyWm+YBkDIG61FPrd9+xOqGy64ErjIlo/Sg4MND6PUQF+hKA0NGXL7xbnEBRV9c9xPSexcuwXPqn2h1bsXPAsuzaDHf9K+n4apIAroDABAGBJghA6GB6gEBTKzrZebdKQvoMkKJCwHO8++6VZf1W9IlKdIsElZhunZLrxsWzFukX0jSeAISO8cwR0UIEipyjryCSN1ko5ZhLVZbkHw72+mbvwV4be8dccRoUJAu6Ynq+e7MGruACBGKSAIROTLYVRWlF4N2Lx7Splb1HtPIHP+ET8CSf2bD39jXixCXfXx2+l9iztDG3mZxbdTT2KkNFIKANAQgdbTjCSwwTKHS6TjNRYgyXaKnSatqcXFXWf1mHmtYVXSyVuD7J1hTkuVP0cQ2vIBAbBCB0YqOPqEJHAkXO/O1EfImOIeA6DAInL/mhtKz/8htkmzduRSgTbZ2a5+4eBj6YgEDcEIDQiZtWo9BwCRRnj/pECNE3XHvY6UdAsHz48PXfbdt389c36RfFxJ4F/70gv+oOE2eI1EAg6gQgdKLeAiRgdgJFzlGvEIlRZs8znvPzJtZ9+/2v1p06dvmu6+KJAzNNn5rrHhtPNaNWEAiVAIROqMQwPu4IFGXnjyHB0+OucAsWfLpF5Re7+69sXd3uaFw8amSiUVPz3LMs2CqkDAKGEYDQMQw1AlmVQJFz1C+IxD+tmn885l3Z+eCyXXctu9qbVJsR0/ULuqUg310a0zWiOBCIkACEToQAYR77BPCKuWV7fOLINVs3ff/LdTF7YWidh7Nmjq46ZtkOIXEQMIAAhI4BkBHC+gSKnK7dRITXmS3YSq/Ds33fLeuPl1+17ecWTL+plMsK8tzZMVYTygEBzQlA6GiOFA5jkUChM/99Jr47FmuLl5pqM6q/3PObVamVFx26PBZqZqL3pua574uFWlADCOhJAEJHT7rwHTMECrNHPcpCvBwzBcVxIe4O5cvL+i/rXpt+qo21MYhHC/KqJ1m7BmQPAvoTgNDRnzEixACBouzROSTklTFQCkr4kUDN0St2rd3z61XWvTBUcO+C/KpVaCgIgEDTBCB0MENAQCWBIqerhoiSVA7HMAsQkG3e3Qd6bzx4qOfmXhZI92yKguj0tDx3spVyRq4gEC0CEDrRIo+4liNQ2NX1d2a63XKJI+FmCdSl1ny95/bV9ors/Vc2O9gMAwR9WpDvxlw0Qy+Qg+kJQOiYvkVI0CwEiru6xgumv5olH+ShPYFTbY+v3DVgeZczLSo7au9dO4/M/MepuVWYi9ohhacYJgChE8PNRWnaEijsmvszZtsGbb3CmwkJyCe67V2+q//ym4iFZML8iCRxdcHIasxFUzYHSZmNAISO2TqCfExNoMjp2k5EcXG9gKkbYUByQpL3H/r5N7v3997Y24Bw6kMIKivIx/k56oFhZLwTgNCJ9xmA+kMiUOh0TWGiR0IywmBLE/Ak1m7a2/cLz4nL9lxjhkJY0PSp+bjI0wy9QA7WIAChY40+IUuTECjskteHJelfJkkHaRhIoKZ1xerd/Za3O9X2hNPAsOeFkkn8cnpe9WfRzAGxQcBKBCB0rNQt5GoKAkVO1x4i6myKZJCE4QQqnftLdw5Yfr1sr0sxPDjRvoI890VRiIuQIGBZAhA6lm0dEo8WgcJs119Z0PhoxUfc6BMQLMoPX/vdln23rL/JyGwE89RpuVW/NzImYoGA1QlA6Fi9g8jfcAILnaOvlUj+0vDACGg6AnKC57vvf7HOffSKndcbkZxg6efTcivXGhELMUAgVghA6MRKJ1GHoQSKnK4viKinoUERzLQEalu4vyi7c0VL94Xl3XRLkvnLgtwqQwSVbjXAMQhEgQCEThSgI6T1CRR1zR9FzK9YvxJUoCWBqk6Hlu3qv+xKT8qZllr6bfD1cEGee4YOfuESBGKaAIROTLcXxelFYOEF41Ol1FPlRIT7hvSCbFW/TJXlP9v+7723fXGzhiWcqfUmZ80aVe7W0CdcgUBcEIDQiYs2o0g9CBRmu2awoNF6+IZP6xMQDu+OfTd/ffTwNVtuiLQaZnplaq57TKR+YA8C8UgAQiceu46aNSFQ5Bx9BZG8SRNncBKzBGrTqr/a+5tVSRWdD/003CKZxZVTc6u/CdcediAQzwQgdOK5+6g9YgKFzvz3mfjuiB3BQcwTqG5/dPmuu5Z1q82oviDEYt8vyHPfG6INhoMACDQQgNDBVACBCAi81SX/Zlni0ghcwDSOCDDRmWOXl60pu3NlH7VlC6Kbp+W5l6sdj3EgAALnEoDQwYwAgQgJFDpdHzPRHRG6gXkcERCSvPdAzsZ9B2/4JqfpssXHBXnVd8YRGpQKApoTgNDRHCkcxhuBIueoXxCJf8Zb3ag3cgKe5NP/3vPrNXzy4h+uCuZNZrp1eq4bd6tFjhoe4pgAhE4cNx+la0eg2OkqEUQDtPMIT/FE4FTbEyvL+i3rfLp1pf89VosL8tzY/xVPEwG16kIAQkcXrHAabwQWdhnVU5KEcloyvkAgbAInL/2+dFf/5TlCkh1M8nVT8059FbYzGIIACNQTgNDBRAABjQgUZbvmkaARGrmDmzglIFg+eKjntzsefWuFlgcOxilNlA0CEDqYAyCgGYGii8d0ZNm7UxAlauYUjuKOgCA6Q15P16F75x2Mu+JRMAjoQAArOjpAhcv4JVCU7fojCXopfgmg8ogJCBo/ZPesyRH7gQMQAAE8usIcAAE9CBQ5XeuI6Do9fMNnzBPYMaRs1qUxXyUKBAEDCWBFx0DYCBUfBN7KHn2rLOTP4qNaVKklASFJtwzd+QoOoNQSKnzFPQEInbifAgCgB4Fi56jJgsTv9fANnzFKgGnykF2zxsdodSgLBKJGAEInaugRONYJFDldyoWfV8R6nagvcgKCaNPQslk/i9wTPIAACAQSgNDBnAABnQgUZ7tuEYI+18k93MYQATyyiqFmohTTEYDQMV1LkFAsESjMdj3Ngp6LpZpQi7YEBNMzQ3fNel5br/AGAiDgIwChg7kAAjoTKHLmf0TEuJhRZ87WdC/+NqRsdj9r5o6sQcAaBCB0rNEnZGlhAoWdR7Znm1155byjhctA6joQEF7PhTgYUAewcAkCfgQgdDAdQMAAAkVdXbcR06cGhEIIqxAQ1HfI7ln/sEq6yBMErEoAQseqnUPeliNQlJ0/hgRPt1ziSFh7AiweHrJr9gztHcMjCIBAIAEIHcwJEDCQQKHTNYWJHjEwJEKZjAATTR1cNgtnLJmsL0gndglA6MRub1GZSQkUZee/S4LvNWl6SEtPAszvDdk18z49Q8A3CIDAuQQgdDAjQMBgAoKIi7vmf07MfQwOjXBRJcCrBpfNvJGJRFTTQHAQiDMCEDpx1nCUaw4Ciy8b1fpUrfgnEV1ljoyQhc4E9ngT+NrfbZ15TOc4cA8CIBBAAEIHUwIEokTg9S55XRyS9AkRdYtSCghrDIE6FnzJ4N0z9xoTDlFAAAT8CUDoYD6AQBQJvO0cdWkdyUuZODuKaSC0fgR2MHl/M7hs7g79QsAzCIBAUwQgdDA/QCDKBAq75ncj5iVMdGmUU0F4bQlsZfL2h8jRFiq8gUCoBCB0QiWG8SCgA4GFnUd3lWyihEjgBmsd+BrtUgj6t0Q8EI+rjCaPeCBwPgEIHcwKEDAJgXcvHtOmVva+T0Q3mSQlpBEOASFKvYnSPdh4HA482ICA9gQgdLRnCo8gEDaBCTTBfomz/G1B4u6wncAwegRYvDd41+z78Qp59FqAyCAQSABCB3MCBExIoKiraxoxPWzC1JBSIwRw4jGmBgiYkwCEjjn7gqxAgIqco8YRialAYQECuLvKAk1CivFKAEInXjuPui1BoCg7/9ck6DUibm+JhOMvyX0kaDhuIY+/xqNi6xCA0LFOr5BpnBIouvihjkJOmMtEd8QpAnOWLegTIXuGDd0776A5E0RWIAACCgEIHcwDELAIgSLnqGeIxJ8tkm5Mp8nMTw/eNfOFmC4SxYFAjBCA0ImRRqKM+CCwMDvvVhbSNCb6aXxUbK4qBdEmkqSxQ3e+UmquzJANCIBAYwQgdDA3QMCCBAqd+ZOZ+PcWTN2yKTPTpMG7Zj1q2QKQOAjEKQEInThtPMq2PoHibNctQtCLRNTT+tWYuoK1QpIexyqOqXuE5ECgUQIQOpgcIGBxAoVdXeOJ6QUmSrR4KeZLX9D4IbtnTTZfYsgIBEBALQEIHbWkMA4ETEygsPPI9mSzP8tEuSZO00qpzRFez3N4o8pKLUOuIBCcAIQOZgYIxBCB/3WOvtZL8hNENCiGyjKuFOYlsuDn/7vsla+MC4pIIAACehKA0NGTLnyDQJQIFGW7/kRC9Cfi66OUgsXCir8JWUweumcO3qayWOeQLgg0RwBCpzlC+DkIWIxAkXP0b4nkV0nQQEG2GpbkMSTEvRYrw5h0md4Vsnhl6O7ZK4wJiCggAAJGE4DQMZo44oGAjgQKs/NHkuAXmKWBQ3a9ssoX6q2LR/1E9lIusRijY3jruBY0XbLxvN/unPmtdZJGpiAAAuEQgNAJhxpsQMCEBBY6XY9IRA+zTAMH75m1IViKH104MqUi0fYgMQ+Nt9fSBdFaJlpYfdrzRu6BeadM2EKkBAIgoAMBCB0doMIlCBhNoDh71FNCiPuZvIMGl83doSZ+/cZllh8gQfcTUUc1NlYcoxz05xXSO9hgbMXuIWcQiJwAhE7kDOEBBKJKoMjpUg4NvOVMnTRo+A+vHAgnmcKLR/dh2XsXEQ8kos7h+DCRzV5BtJgkaQkO+TNRV5AKCESJAIROlMAjLAhoQaAoe9R0FvQTIUkDh+ycUamFz7e65l/pJb6NmW4lol9r4VNnHx4S9E8i+qeXxP/9bvfsTTrHg3sQAAELEYDQsVCzkGr0CBR3Gd1XSHKRELZfDt09Y2OR0/WSELa3lO/f6jr2ApnrFgthcym/NirLQmf+AiLOSiwrH3gfvefVK+7/Zrt6eWTqxZLyqrroQYKcesVS5VdQGUn0Fcm0Tki0ZuiuWatV2WEQCIBAXBKA0InLtqPowq5jfsbsfUcI2/2B4qSxnxVnj3pYFqKvqE65T0o99YwidGwkHZK5rpQEFUnkmP/b3dMOG0G3KNv1jhBCHlo2+7+MiOcf483LRrWWPHwFy/LlLKibkEQ3Eqw87lL+S9YwHzcRrWBBOwTTNiFJ38l28c3vts48pmEMuAIBEIhxAhA6Md5glNc4gSKnazYzbxm8a+Z0/1GKoBFCdB9SNiu/MWv/FR0jGb97+b0JtafbLGbmg4N3zRxhZGw1sRQR5PBQOy9xG0mWW8kkMpkpjYiTmTiBhLDV+2H2ChK1RKJGCHJLxBWyJB23kSivs9MhiBk1tDEGBEBADQEIHTWUMCYmCSiPo2RJflhZofnvw5OqlSIXXjA+lVNPvSvJ0vTBe175VPk9RRARUZ4aCMw8NlA4qbFTM6a4U35L4ZAWsxAbB5fNGqfGBmNAAARAIN4JQOjE+wyI4/qDiZpg4seHqGEvTikzz1ZWfBrEz5ymVn60wlt08ZiOJHsXCxb/N3TX7D9p5Rd+QAAEQCDWCUDoxHqHUV+TBAIfUwU+zvKJISa6g4i2SsLRR9mHo9iRl7cpzoUkf+IXRHPhU9g1vxsRlxBx0dDdM/+CloIACIAACKgnAKGjnhVGxiABZZXGy3ULbMIxTCnP931zm4pD3aNT2NU1Ohx8EnNHQTSYmf6q1yOxcPKCDQiAAAhYhQCEjlU6hTx1I+BbxalfnQnYhBywotNsDo3t0SnOds1o1rixATJtG7x71ith28MQBEAABOKYAIROHDcfpf9IQHmdnNj74yMhYXuyubNwGs7UmUZExyThGNTc6g84gwAIgAAIRI8AhE702COySQj4Vm3qdY7fG1iB6TUInE8E0VJlnD2lLq3+DB0i8u3dMUlJSAMEQAAEQKCBAIQOpgIINEHA/9GVT+D4XkX3mfnexiKiyxobA8ggAAIgAALRIQChEx3uiAoCIAACIAACIGAAAQgdAyAjBAiAAAiAAAiAQHQIQOhEhzuiggAIgAAIgAAIGEAAQscAyAgBAiAAAiAAAiAQHQIQOtHhjqggAAIgAAIgAAIGEIDQMQAyQoAACIAACIAACESHAIROdLgjKgiAAAiAAAiAgAEEIHQMgIwQIAACIAACIAAC0SEAoRMd7ogKAiAAAiAAAiBgAAEIHQMgIwQIgAAIgAAIgEB0CEDoRIc7ooIACIAACIAACBhAAELHAMgIAQIgAAIgAAIgEB0CEDrR4Y6oIAACIAACIAACBhCA0DEAMkKAAAiAAAiAAAhEhwCETnS4IyoIgAAIgAAIgIABBCB0DICMECAAAiAAAiAAAtEhAKETHe6ICgIgAAIgAAIgYAABCB0DICMECIAACIAACIBAdAhA6ESHO6KCAAiAAAiAAAgYQABCxwDICAECIAACIAACIBAdAhA60eGuadS5I8mRO4/qNHVqJWcj5zpoXm4c1z/SQfPmxW39I+eSY15u/M7/uT1GOnLXx2//5/YgR+76+O2/lT6qo5UrhE4UyJcMazFdkHiAidpoFV4QlTPx2wMXnHxYK5/XXXfdzbIsvymE+PXXX3+95ZprrnmSiEqU73v06JFFRMrPxiu/DiVmyxFLphPRA6Rh/URUTkRvn3i1v+nrT5s4cTrrUL8getv9+OOmr3/cnLTpJOgBYu3mPwkqJ6a3C/Lcpq+/qOuo6YJ1+PMv+O0hu2eavv6SnNbTBbEOn3/i7YGrjqmu/9prrx2mfG599dVXC0L5/GpsrF6fl1rkFu8+IHQMngGKyCESY/QLyzOaEzsNfyBL/XOQJKnPl19+uSwwL+XDQAjxCyIaIYQYpwgdZlZExd+I6C3lv/Xr1x9VW0+DyNGxfprRmNgJVndg3sw83P+DT+v6G0SObvULohnBxE6DMFV61rOZXq0lojt9PdW6/nqRQ6Rb/UQ0I5jYaajjtYbaxxLRYCHE/wSK9IZxl65fv/5xZazW9Ssih1jHP/+CZzQmdq655pruzPxGsLob+5nW9Ssih4h17L+Y0ZTY8X0GKJ93QohspcdCiCUNn2fKL8/OfTPwUvu5inFNE4DQMXiGLB6WeUTLlZzA9JWVnUELKtqqKSvUf9H4r+io8R9sTMsRS45ovJITGKb8xKv9G62/R48eKUT0qiRJ83zCruHDb6Qi5tavX3+qsdq0qD994kTd6696/PGg9Qeuwvn3v+FDfRIR/a4x4apF/eNmpx3RdCXn/D8A5QX57sbqn8jM2xUh26NHj7Pf+1wEmxv+7rWov9Dp0v3P/9CyWU3N//Pq9hN0ZwVesD8DWtS/OCdL9/oHrTp6Xv2+3hLRD/4i1reio/xcCNGZmV8nol2+z4Jg88RIXuF+zsLuXAIQOgbOCGUvTVtPZq3eIY/YKxLU7NlpSugof8CJ6DE1uQaugjRqM3Kuo6Vor3v9J/hgQmN7dtQKHX3qH+lIdzp1r7+qrCwh2J6dUISOHvUre2lSRJru9Z9id0KwPTv+f2k1iNuXgvwLvl7sEdF4ree/spcm9YRd9/qrW3oSGtuzE0zUB/szoUf/lb00bZOydK//yOmjCYF7dq6++uprmbk6cAXPr869zOz66quvlvp/fkWTl5rPXoxRRwBCRx0nzUaVDMsUmjlrxNHABRWq+qpmRcf3yIOZ5wkhLm348H/J96+iUGtpOWKJ7vWfeLV/o/WrFTp+/8pX9iL9Tav60ydO1L3+qscfD1p/KEJHr/rHzUnTvf6CPHdj9fuv6Jy3stfIKo+m/S9yunSvf0jZLNPO/5KcLN3rH7jqaND6Ax5f1k/xxh7ZN7XK19QKsNafl6F+vmJ8cAKq/kIEPO0IWEHo+C3z/paIzu7ZUD4omFlZ1iVZlv33+KgWPlYQOnrWbwWhQ0TK47tXiUjz/ptF6AQ+fvAXgcy8V6/6oy10gj12CRR4es7/aAmdwBobHtUqe4XGN/W4Otq8tPubJ749QegY3H8rCJ3GkGjxjN4KQkfP+q0gdHTdo2OSFR2lx/7ixmaztZVlucl9WlrMfzMInYa6pxGRsilb+ar/vrmXCrSoP4pCp35lTsVmfOUFi3P26kWTl8F/PcVsOAgdg1trBaET8C+6Zgmp3qNDRFYQOnrWbwWhE7Cio2n/zbSi0yB26h9nKY9l/TYq1z/WaljR0rR+Mwgd/7qV75Xa/R9F6zn/oyV0ApuorPBIkvR3/zdNGx5J/TrYY3nfipDRvJqdfBigigCEjipM2g2ygtAJVm3Dh8DLRKS8St7omznNkbKC0NGzfisInWD/steq/2YTOmrrUjuuuflvFqHT8OjmqYa/uF9o7iwsreo3g9Dxf2Xe/7FVU0InWryam0/4uToCEAtUAJwAAAKnSURBVDrqOGk2ygxCJ5RzdPzG1i/pEpHyr11lCVj5OnvmhFpA0RQ64Zyjo3X90RI64Z6jo3X90RI6/htR/TegBnvt2H8ua12/WYSOX91KuY0eq6B1/dEUOg1i5e9EtCpYzc28hepb5TOUl9rPVYxrmgCEjsEzxAxCp7mSA5auz3tm3bD07f/MO+iYYHGiKXSaq9v3cz3rj5bQUVt7Q2/9H91o2v9oCR2z1G8WodMUDz3nf7SEToPQfcZ3yrvfn3X/YzRUf47589OTVyjzFmMbJwChY/DsMNOBgQaXXh8u2gcGRqNm/5jRPDAw2rUr8aN5YKAZ6o/2gYHRZhCtAwOjXTfiR5cAhI7B/M1wBYTBJZ8TLppXQESzbl/saF0BYYba64VOlK6AMEv90bwCwgwMon0FhBkYIAfjCUDoGM+crHKpp15orHKpp171W+VST73qt8qlnnrVb5VLPfWq3yyXeupVH/yajwCEjvl6EnJGytUSaq58CNmxVQxGznU0duWDVUqIKM+RIx3BrnyIyKeFjJWrJYJd+WChEiJKVblaorErHyJybBFj5WqJwCsfLJI60jSIAISOQaARBgRAAARAAARAwHgCEDrGM0dEEAABEAABEAABgwhA6BgEGmFAAARAAARAAASMJwChYzxzRAQBEAABEAABEDCIAISOQaARBgRAAARAAARAwHgCEDrGM0dEEAABEAABEAABgwhA6BgEGmFAAARAAARAAASMJwChYzxzRAQBEAABEAABEDCIAISOQaARBgRAAARAAARAwHgCEDrGM0dEEAABEAABEAABgwhA6BgEGmFAAARAAARAAASMJwChYzxzRAQBEAABEAABEDCIAISOQaARBgRAAARAAARAwHgCEDrGM0dEEAABEAABEAABgwj8f2ZTY4v4gBBTAAAAAElFTkSuQmCC");
//图片路径,请注意你是linux还是windows
String wordPath = "C:\\Users\\myqxin\\Desktop\\hh\\poi\\";
String modelName = "word模板测试.docx";
String outputName = "hanyunxis.docx";
PictureRenderData picture = Pictures.ofBufferedImage(image, PictureType.PNG).size(100, 100).create();
PictureRenderData netPicture = Pictures.ofUrl("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fww4.sinaimg.cn%2Fmw690%2F006jGavmly1gw8yeqndlbj60wg1erqax02.jpg&refer=http%3A%2F%2Fwww.sina.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1640747893&t=51eb086f18a176f29698ece852474a0b", PictureType.PNG).size(100, 100).create();
// 表格
RowRenderData row0 = Rows.of("姓名", "性别", "学费信息", "", "", "年龄").center().create();
RowRenderData row1 = Rows.of("姓名", "性别", "初一", "初二", "初三", "年龄").center().create();
RowRenderData row2 = Rows.of("小祖", "男", "2000", "5000", "8000", "20").center().create();
RowRenderData row3 = Rows.of("小抒", "女", "3000", "8000", "15000", "18").center().create();
// 表格合并
MergeCellRule rule = MergeCellRule.builder().map(MergeCellRule.Grid.of(0, 0), MergeCellRule.Grid.of(1, 0)).
map(MergeCellRule.Grid.of(0, 1), MergeCellRule.Grid.of(1, 1)).
map(MergeCellRule.Grid.of(0, 2), MergeCellRule.Grid.of(0, 4)).
map(MergeCellRule.Grid.of(0, 5), MergeCellRule.Grid.of(1, 5)).
build();
TableRenderData table = Tables.of(row0, row1, row2, row3).mergeRule(rule).create();
// 数据封装
UserInfo userInfo = new UserInfo();
userInfo.setName("小祖");
userInfo.setGender("男");
userInfo.setBirthday("2021-10-10");
userInfo.setRemark("小祖,出生于某某省,毕业于某某大学,现就业于某某城市,当上了CTO");
userInfo.setPicture(picture);
userInfo.setNetPicture(netPicture);
userInfo.setTable(table);
// 传入模板模板地址+信息数据
XWPFTemplate template = XWPFTemplate.compile(wordPath + modelName).render(userInfo);
FileOutputStream out;
try {
// 将结果输出到目标位置
out = new FileOutputStream(wordPath + outputName);
template.write(out);
out.flush();
out.close();
template.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
wordUtils.javapackage com.myqxin.common.utils;
import org.apache.commons.codec.binary.Base64;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
/**
* @author: myqxin
* @Desc:
* @create: 2021-11-16 11:36
**/
public class WordUtils {
public static BufferedImage getImageByBase64(String baseCode) throws Exception {
byte[] base64 = Base64.decodeBase64(baseCode);
ByteArrayInputStream in = new ByteArrayInputStream(base64);
return ImageIO.read(in);
}
}
我这里用到了base64形式的数据,将base64转换成image5,以浏览器请求的方式
@RequestMapping(value = "/importWord", method = RequestMethod.GET)
public void importWord(HttpServletResponse response) throws Exception {
// base64转image
BufferedImage image = WordUtils.getImageByBase64("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");
//图片路径,请注意你是linux还是windows
String wordPath = "C:\\Users\\myqxin\\Desktop\\hh\\poi\\";
String modelName = "word模板测试.docx";
String outputName = "hanyunxis.docx";
PictureRenderData picture = Pictures.ofBufferedImage(image, PictureType.PNG).size(100, 100).create();
PictureRenderData netPicture = Pictures.ofUrl("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fww4.sinaimg.cn%2Fmw690%2F006jGavmly1gw8yeqndlbj60wg1erqax02.jpg&refer=http%3A%2F%2Fwww.sina.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1640747893&t=51eb086f18a176f29698ece852474a0b", PictureType.PNG).size(100, 100).create();
// 表格
RowRenderData row0 = Rows.of("姓名", "性别", "学费信息", "", "", "年龄").center().create();
RowRenderData row1 = Rows.of("姓名", "性别", "初一", "初二", "初三", "年龄").center().create();
RowRenderData row2 = Rows.of("小祖", "男", "2000", "5000", "8000", "20").center().create();
RowRenderData row3 = Rows.of("小抒", "女", "3000", "8000", "15000", "18").center().create();
// 表格合并
MergeCellRule rule = MergeCellRule.builder().map(MergeCellRule.Grid.of(0, 0), MergeCellRule.Grid.of(1, 0)).
map(MergeCellRule.Grid.of(0, 1), MergeCellRule.Grid.of(1, 1)).
map(MergeCellRule.Grid.of(0, 2), MergeCellRule.Grid.of(0, 4)).
map(MergeCellRule.Grid.of(0, 5), MergeCellRule.Grid.of(1, 5)).
build();
TableRenderData table = Tables.of(row0, row1, row2, row3).mergeRule(rule).create();
// 数据封装
UserInfo userInfo = new UserInfo();
userInfo.setName("小祖");
userInfo.setGender("男");
userInfo.setBirthday("2021-10-10");
userInfo.setRemark("小祖,出生于某某省,毕业于某某大学,现就业于某某城市,当上了CTO");
userInfo.setPicture(picture);
userInfo.setNetPicture(netPicture);
userInfo.setTable(table);
// 传入模板模板地址+信息数据
XWPFTemplate template = XWPFTemplate.compile(wordPath + modelName).render(userInfo);
// 指定下载的文件名--设置响应头
response.setHeader("Content-Disposition", "attachment;filename=" + "黄河流域水质报告" + ".docx");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
try {
OutputStream out = response.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(out);
template.write(out);
bos.flush();
out.flush();
template.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
注意:如果表头单元格数,与填充数据的格数不一致,会抛出以下异常 Number of cells in each row should be the same!

选择擅长的领域继续答题?
{@each tagList as item}
${item.tagName}
{@/each}
手机回答更方便,互动更有趣,下载APP
提交成功是否继续回答问题?
手机回答更方便,互动更有趣,下载APP
(1)H2SO4硫酸的摩尔质量为98g/mol ==> 1摩尔硫酸!(2)1/2H2SO4==> 旧称当量浓度,2当量硫酸配成2L溶液,其浓度是1当量浓度,其实就是0.5mol/L H2SO4!
本回答被网友采纳

我要回帖

更多关于 &amp;lt;&amp;gt 的文章