天天看點

Hutool 擷取所有表格、單個sheet、單行、單個單元格内容

1 擷取所有表格内容

ExcelReader reader = ExcelUtil.getReader("d:/aaa.xlsx");
List<Map<String,Object>> readAll = reader.readAll();
           

2 擷取單個sheet内容

//通過sheet編号擷取
ExcelReader reader = ExcelUtil.getReader(FileUtil.file("test.xlsx"), 0);
//通過sheet名擷取
ExcelReader reader2 = ExcelUtil.getReader(FileUtil.file("test.xlsx"), "sheet1");
 
List<Map<String,Object>> readAll = reader.readAll();
           

3 擷取單行内容

ExcelReader reader = ExcelUtil.getReader("d:/aaa.xlsx");
//擷取第一行内容
List<Map<String, Object>> mapList =reader.read(0,1,1);
//第一行無資料
if(mapList==null||mapList.size==0){
    return;
}
           

4 擷取單個單元格内容

ExcelReader reader = ExcelUtil.getReader("d:/aaa.xlsx");
//擷取第四行第三列單元格内容
Object cellValue =reader.readCellValue(2,3);
//第四行第三列單元格為空
if(cellValue==null||cellValue.equals("")){
    return;

}
           
/**
         * 擷取上傳檔案輸入流
         */
        InputStream inputStream = null;
        try {
            inputStream = file.getInputStream();
        } catch (Exception e) {
            e.printStackTrace();
        }
        /**
         * 添加第一張表的sheet第一行為一級菜單
         */
        //  擷取到目前輸入流Excel流的位址 尋找下标為0的第一張sheet表名
        ExcelReader excelReader = ExcelUtil.getReader(inputStream, 0);
        // 擷取 Sheet名的方法
        importsys.setImportsysName((String) excelReader.readCellValue(0,1));
        // 擷取第一行的第一個資料
        List<List<Object>> readFirstLine = excelReader.read(1, excelReader.getRowCount());
           

繼續閱讀