基于hutool读excel
图
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”,其设计思想是尽量减少重复的定义,让项目中的util这个package尽量少

Hutool

Hutool官网

文件上传读取示例

/**
 * 导入
 */
@RequestMapping("/excel")
public JSONObject deal(HttpServletRequest request, @RequestParam("file") MultipartFile file) {
    // 1.获取上传文件输入流
    InputStream inputStream = null;
    try {
        inputStream = file.getInputStream();
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println(inputStream);
    // 2.应用HUtool ExcelUtil获取ExcelReader指定输入流和sheet
    ExcelReader excelReader = ExcelUtil.getReader(inputStream, 0);
    // 可以加上表头验证
    // 3.读取第二行到最后一行数据
    List<UserBaseInfoExcelContent> userBaseInfoExcelContents = excelReader.readAll(UserBaseInfoExcelContent.class);
    userBaseInfoExcelContents.remove(0);
    System.out.println(userBaseInfoExcelContents);
    System.out.println(userBaseInfoExcelContents.toString());
    HashMap<String, String> params = new HashMap<>();
    String userListJsonArrStr = userBaseInfoExcelContents.toString();
    userListJsonArrStr = userListJsonArrStr.replace("UserBaseInfoExcelContent", "");
    System.out.println(userListJsonArrStr);
    params.put("userListJsonArrStr", userListJsonArrStr);
    return sendRequest.sendPost(userImport, params, request);
}

文件URL读取示例

InputStream inputStream = new URL(excelUrl).openStream();
ExcelReader excelReader = ExcelUtil.getReader(inputStream, 0);
List<Map<String, Object>> maps = excelReader.readAll();
// 表格的名字为Key,值为value

依赖

compile 'org.apache.poi:poi:3.17'
compile 'org.apache.poi:poi-excelant:3.17'
compile 'org.apache.poi:poi-examples:3.17'

<!-- excel操作所选jar -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-excelant</artifactId>
    <version>3.17</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-examples</artifactId>
    <version>3.17</version>
</dependency>

注意:3个依赖的版本必须一致,否则会报错