POI版本升级需要调整的代码整理(3.15升级到5+版本)

🏛️ 365bet的官网是多少 ⏳ 2025-10-04 13:41:38 👤 admin 👁️ 2522 💎 438
POI版本升级需要调整的代码整理(3.15升级到5+版本)

简言:项目发现POI引入的包版本比较多,最终统一升级高版本,向下兼容程序,版本:3.15升级到5+版本。 踩坑:本来想一步到位升级到5.12版本,poi-ooxml-schemas包只支持到4.1.2版本到POI高版本删减了util对execl表格样式需要设置的同学注意兼容问题

数据类型:

Cell.CELL_TYPE_NUMERIC ==》转换为对应 CellType.NUMERIC

同样 类似的其他类型 如 CELL_TYPE_STRING 等等 CellType 都有对应

字体加粗

ont.setBoldweight(Font.BOLDWEIGHT_BOLD);

改为 font.setBold(true);

获取类型

cell.getCellTypeEnum() ==》改为 cell.getCellType()

边框线设定

原有的单线最细边框设置

代码:style.setBorderTop(BorderStyle.THIN);

CellStyle.BORDER_THIN ==》修改为 BorderStyle.THIN

至于其他边框粗细,点开BorderStyle 里面有描述

单元格内容 上下左右位置

ellStyle.VERTICAL_CENTER 垂直居中(上下居中) VerticalAlignment.CENTER

CellStyle.ALIGN_CENTER 左右居中 ==》更改为 HorizontalAlignment.CENTER

同样类似的偏左以及偏右 替换成对应的LEFT 或者 RIGHT 即可

删减部分

org.apache.commons.collections4.CollectionUtils //工具类拿掉了

表格颜色

font.setColor(HSSFColor.BROWN.index) ==》变更后font.setColor(HSSFColor.HSSFColorPredefined.BROWN.getIndex())

兼容异常 1.依赖包异常:java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream 原因:版本在5.1.0的时候导出EXECL会出错,报加载不到当前类 解决方法: 1.降低版本号

org.apache.poi

poi

5.0.0

org.apache.poi

poi-ooxml

5.0.0

或是升级依赖包

commons-io

commons-io

2.11.0

org.apache.logging.log4j

log4j-api

2.17.1

如果有使用jxls 2+版本的同学此时代码是不兼容高版本的poi版本,可以使用jxls

-------老版本-----------

**jxls-core在14年后就不在更新,所以对新版本的poi是不支持的**

net.sf.jxls

jxls-core

1.0.5

-------新版本-----------

org.jxls

jxls

${jxls.version}

org.jxls

jxls-poi

${jxls.version}

org.jxls

jxls-jexcel

${jxls-jexcel.version}

更新jar 后对应的表达式也需要更新可以参官网给文档和demo: 官网文档 DEMO:

文档修改例子可以参考我这篇文章>

相关掠夺

36566666是哪个公司的电话
马塞洛在世界杯上的辉煌表现与传奇生涯

马塞洛在世界杯上的辉煌表现与传奇生涯

🗓️ 09-02 👁️ 7747
365bet的官网是多少
手机游戏大厅哪个好?6款手机游戏大厅推荐

手机游戏大厅哪个好?6款手机游戏大厅推荐

🗓️ 08-24 👁️ 8113