Java使用poi向Excel中任意位置数据写各种数据数据

Java使用poi向Excel中任意位置数据写各种数据数据

1.注意点,肯定是先拿到excel的行列坐标来获取单元格,然后写入数据的
2.获取模板使用XSSFWorkBook(new InputStream(文件路径)),因为sxssf虽然内存友好,但是会提前数据写入硬盘导致内存数据销毁,会造成空指针,所以sxxsf只能适合从上往下下入数据
3.对于模板文件,需要校验名称管理器,防止操作模板时报错
4.wb.getAllNames(),遍历获得XSSFName,XSSFName.getSheetIndex()==-1,XSSFName.getSheetAt(XSSFName.getSheetIndex())==null,的续删除掉,wb.removeName(XSSFName)
5.需要校验合并区域,判断所有的合并区域是否有重叠,如果重叠则删除,防止文件报错,sheet.removeMergeRegion(合并区域的ID)
6.插入空行,sheet.shiftRows(要插入的起始行,sheet的终止行,插入的行数,true,false),可以实现行平移,目前未发现引起样式或公式问题,但是会因错误的名称管理器和合并区域影响报错
7.导出的数据逻辑是先插入行,再数据,后枚举再图片,再文件
8.数据写入时会有样式问题,需要提前知道样式是什么,在单元格中先写入数据还是先写入样式其实无所谓,如果样式不生效,需要考虑是不是数据不满足要求
9.注意点,一个workbook可以创建的样式是有限的,具体数量自行百度,所以要控制样式创建的数量,建议一列数据使用相同样式,数量过多会文件报错,所有样式失效
10.为什么会有样式数据限制呢,要是不限制的话,每个单元格样式都不一样,单元格一多生成出来的Excel用啥都打不开,直接内存爆炸
11.写入图片,附件数据是没有问题的,关键是在于位置,后续文章再提供思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值