赞
踩
接口:
@ApiOperation(value = "导入园区食堂动态菜品表")
@Log(title = "导入园区食堂动态菜品表", businessType = BusinessType.IMPORT)
@PostMapping("/importExcel")
public AjaxResult importCanteenDishesExcel(@RequestParam("file") MultipartFile file) {
List<GdAllroundCanteenDishes> gdAllroundCanteenDishesList =
MyExcelUtils.importExcel(file, 0, 1, GdAllroundCanteenDishes.class);
boolean b = gdAllroundCanteenDishesService.insertCanteenDishesExcel(gdAllroundCanteenDishesList);
return AjaxResult.success(b);
}
实体类示例:
@Excel(name = "今日菜品",orderNum = "0")
private String todayDishes;
工具类:
public class MyExcelUtils { /** * 功能描述:复杂导出Excel,包括文件名以及表名,不创建表头 * * @param list 导出的实体类 * @param title 表头名称 * @param sheetName sheet表名 * @param pojoClass 映射的实体类 * @param fileName * @param response * @return */ public static void exportExcel( List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, HttpServletResponse response) { defaultExport(list, pojoClass, fileName, response, new ExportParams(title, sheetName)); } /** * 功能描述:默认导出方法 * * @param list 导出的实体集合 * @param fileName 导出的文件名 * @param pojoClass pojo实体 * @param exportParams ExportParams封装实体 * @param response * @return */ private static void defaultExport( List<?> list, Class<?> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams) { Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list); if (workbook != null) { downLoadExcel(fileName, response, workbook); } } /** * 功能描述:Excel导出 * * @param fileName 文件名称 * @param response * @param workbook Excel对象 * @return */ private static void downLoadExcel( String fileName, HttpServletResponse response, Workbook workbook) { try { response.setCharacterEncoding("UTF-8"); response.setHeader("content-Type", "multipart/form-data"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); workbook.write(response.getOutputStream()); } catch (IOException e) { throw new RuntimeException(e); } } /** * 功能描述:根据接收的Excel文件来导入Excel,并封装成实体类 * * @param file 上传的文件 * @param titleRows 表标题的行数 * @param headerRows 表头行数 * @param pojoClass Excel实体类 * @return */ public static <T> List<T> importExcel( MultipartFile file, Integer titleRows, Integer headerRows, Class<T> pojoClass) { if (file == null) { return null; } ImportParams params = new ImportParams(); params.setTitleRows(titleRows); params.setHeadRows(headerRows); List<T> list = null; try { list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params); } catch (NoSuchElementException e) { throw new RuntimeException("excel文件不能为空"); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } return list; } }
后续会有easyexcel导入文章,点关注不迷路
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。