本文章都是自创,如有类同纯属巧合,转发的朋友请写我的文章链接
excel的导入
1.接收方法
@RequestMapping("imp")
@ResponseBody
public Result imp(MultipartFile file) throws IOException, InvalidFormatException, ParseException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
Workbook workbook = WorkbookFactory.create(file.getInputStream());
Sheet sheet = workbook.getSheetAt(0);
List<User> users = importData(sheet);
UserService.imp(users);
return result();
}
2. 写一个excel对应实体属性的list
private ArrayList<String> list = new ArrayList<String>(Arrays.asList(
"Name","Sex","ShenGao","TiZhong","Dept"
));
3.写将excel信息转换成实体类的方法
private List<User> importData(Sheet sheet) throws ParseException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
List<User> user= new ArrayList<>();
int lastRowNum = sheet.getLastRowNum();
for (int i = 0; i < lastRowNum; i++) {
User user= new User();
Field[] fields = user.getClass().getDeclaredFields();
Map<String, Integer> map = new HashMap<>();
Row row = sheet.getRow(i + 1);