依赖包:
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.7</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
源码举例:
import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import java.util.List; import java.util.Map; /** * 读取excel文件内容 (hutool-poi) * 参考文档:https://www.hutool.cn/docs/#/poi/%E6%A6%82%E8%BF%B0 */ @Slf4j public class TestExcel { /** * 说明:读取Excel中所有行和列,都用列表表示 * [[姓名, 年龄, 工作, 备注], [Tom, 22, 学生, 人才], * [小明, 33, 快递员, 好人], [小红, 28, 文员, 美女]] */ @Test public void testReadList() { ExcelReader excelReader = ExcelUtil.getReader(ResourceUtil.getStream("data/excel/test.xlsx")); List<List<Object>> list = excelReader.read(); log.info(list.toString()); } /** * 说明:读取为Map列表,默认第一行为标题行,Map中的key为标题,value为标题对应的单元格值。 * [{姓名=Tom, 年龄=22, 工作=学生, 备注=人才}, {姓名=小明, 年龄=33, 工作=快递员, 备注=好人}, * {姓名=小红, 年龄=28, 工作=文员, 备注=美女}] */ @Test public void testReadMap() { ExcelReader excelReader = ExcelUtil.getReader(ResourceUtil.getStream("data/excel/test.xlsx")); List<Map<String, Object>> listAll = excelReader.readAll(); log.info(listAll.toString()); } }