继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

原生poi实现模版导出

qq_小欢_1
关注TA
已关注
手记 40
粉丝 1
获赞 4

背景

我们公司是内网开发,外网jar包我的权限不够,所以easyexcel jar包无法使用,参考了easyexcel的填充思想,写了一个较简单的填充方法,如果直接用easyexcel的话,可以参考这篇文章,http://njpkhuan.cn/archives/easyexcel-tian-chong-excel

思想

核心思想就是替换,在excel里面按照一定的规则定义变量,然后后台读取excel模版,替换其中的变量,或者根据变量进行自定义的处理

实现

模版

sheet1

image-1652085572745

sheet2

image-1652085673877

解决思路

  1. 读取表格加载到内存
  2. 读取sheet1
  3. 替换num变量
  4. 替换并新增列表变量
  5. 读取sheet2
  6. 替换并新增列表变量
  7. 更新打印范围

代码

内网代码。。只能截图。。刚写的代码,注释样式还未完善。。我知道变量名很丑陋,哈哈😅

image-1652086738287
image-1652086142080
image-1652086118582

这里只要保证sql查出来的数据和excel对应上即可自动替换,因为是oracle所以查出来的key是大写的,我excel变量是小写的,所以我方法里面做了一个转小写的操作

image-1652086243755
image-1652086379856

效果

image-1652086599918

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP