Java针对MS Office的操作的库屈指可数,比较有名的就是Apache的POI库。这个库异常强大,但是使用起来也并不容易。
所有引用Hutool,使用其针对POI封装的一些常用工具,使Java操作Excel等文件变得异常简单。
Apache的POI库
Hutool-poi
Hutool-poi是针对Apache POI的封装,因此需要用户自行引入POI库,Hutool默认不引入。到目前为止,Hutool-poi支持:
hutool依赖参考hutool官方文档:https://www.hutool.cn/docs 。一直在更新,目前是5.7.9版本
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.9</version>
</dependency>
推荐引入poi-ooxml,这个包会自动关联引入poi包,且可以很好的支持Office2007+的文档格式,**建议版本5.0.0及以上**
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
如果需要使用Sax方式读取Excel,需要引入以下依赖(**POI-4.x以上这个非必须**):
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>${xerces.version}</version>
</dependency>
poi-ooxml
版本需高于 3.17
hutool-5.x的poi-ooxml
版本需高于 4.1.2
poi-ooxml
版本高于 5.0.0
xercesImpl
版本高于2.12.0
(非必须)引入后即可使用Hutool的方法操作Office文件了,Hutool提供的类有:
ExcelUtil Excel工具类,读取的快捷方法都被封装于此
ExcelReader Excel读取器,Excel读取的封装,可以直接构造后使用。
ExcelWriter Excel生成并写出器,Excel写出的封装(写出到流或者文件),可以直接构造后使用。
部分用户使用POI模块时会提示:
You need to add dependency of 'poi-ooxml' to your project, and version >= 4.1.2
一般以下几个原因:
Cause By