依賴包:
<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()); } }