本文实例讲述了spring boot读取Excel操作。分享给大家供大家参考,具体如下:
首先引入相关依赖
org.apache.poi poi 3.17 org.apache.poi poi-ooxml 3.17
工具类
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.multipart.MultipartFile; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; public class OfficeUtils { protected static final Logger logger = LoggerFactory.getLogger(OfficeUtils.class); public static Map> readExcelContentz(MultipartFile file) throws Exception { Map > cOntent= new HashMap >(); // 上传文件名 Workbook wb = getWb(file); if (wb == null) { throw new BusinessException(ErrorType.WORK_BOOK_EMPTY); } Sheet sheet = wb.getSheetAt(0); // 得到总行数 int rowNum = sheet.getLastRowNum(); Row row = sheet.getRow(0); int colNum = row.getPhysicalNumberOfCells(); // 正文内容应该从第二行开始,第一行为表头的标题 for (int i = 1; i <= rowNum; i++) { row = sheet.getRow(i); int j = 0; Map cellValue = new HashMap (); while (j
service层
public Map> addCustomerInfo(MultipartFile file) { Map > map = new HashMap<>(); try { map = ReadExcelUtil.readExcelContentz(file); } catch (Exception e) { e.printStackTrace(); } //excel数据存在map里,map.get(0).get(0)为excel第1行第1列的值,此处可对数据进行处理 }
controller层
@PostMapping public String add(@RequestParam("file")MultipartFile file){ Map> map = customerService.addCustomerInfo(file); return "success"; }
至此,基本完成Excel的解析。
更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。