pox.xml添加依賴
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.2.0</version>
</dependency>
定義一個(gè)類田绑,在每個(gè)屬性上面添加@Excel注解,并設(shè)置name值抡爹,注意name的值要與excel文件中的字段一一對(duì)應(yīng)
@Data
public class WeiUser implements Serializable {
private static final long serialVersionUID = 337215436114100948L;
@Excel(name = "id")
private Integer id;
@Excel(name = "openid")
private String openid;
@Excel(name = "nickname")
private String nickname;
@Excel(name = "sex")
private Integer sex;
@Excel(name = "city")
private String city;
@Excel(name = "country")
private String country;
@Excel(name = "province")
private String province;
@Excel(name = "headimgurl")
private String headimgurl;
@Excel(name = "subscribe")
private String subscribe;
@Excel(name = "language")
private String language;
@Excel(name = "remark")
private String remark;
private Integer[] ids;
}
前端代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="upload">
<input type="file" name="file"/>
<input type="submit" value="提交上傳"/>
</form>
</body>
</html>
controller層代碼
導(dǎo)入
//導(dǎo)入表格
@RequestMapping("/upload")
@ResponseBody
public String upload(@RequestParam("file") MultipartFile multipartFile) throws Exception {
ImportParams params = new ImportParams();
params.setHeadRows(1);
// 解析excel文件掩驱,得到的result是一個(gè)包含所有記錄的集合
List<WeiUser> result = ExcelImportUtil.importExcel(multipartFile.getInputStream(),
WeiUser.class, params);
//調(diào)用service層的add方法將集合中的每條數(shù)據(jù)插入到數(shù)據(jù)庫(kù)
userService.addList(result);
return "success";
}
導(dǎo)出
//導(dǎo)出表格
@RequestMapping("/out")
public String exportCompanyImg(HttpServletRequest request) throws Exception {
//調(diào)用service層的方法獲取數(shù)據(jù)庫(kù)中數(shù)據(jù),返回一個(gè)list集合
List<WeiUser> list = userService.getList();
File savefile = new File("F:/excel/");
//如果指定路徑?jīng)]有excel目錄就創(chuàng)建一個(gè)
if (!savefile.exists()) {
savefile.mkdirs();
}
//將list集合轉(zhuǎn)換成workbook文件
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), WeiUser.class, list);
//指定導(dǎo)出文件的存儲(chǔ)路徑
FileOutputStream fos = new FileOutputStream("F:/excel/ExcelExportHasImgTest.exportCompanyImg.xls");
//將文件寫入指定位置
workbook.write(fos);
//關(guān)流
fos.close();
return this.getList(request,null,null);
}