通过Hutool实现Excel的导入导出
1.引入相关依赖
2. 相关代码
package com.example.demo.demo1;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
@RequestMapping("/export")
public void export(HttpServletResponse response) throws IOException {
List list= new ArrayList<>();
list.add(new User("甲乙丙","123456","甲乙丙"));
list.add(new User("路飞","123","monkey"));
ExcelWriter writer= ExcelUtil.getWriter(true);
writer.addHeaderAlias("username","用户名");
writer.addHeaderAlias("password","密码");
writer.addHeaderAlias("nickname","昵称");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset:utf-8");
String fileName= URLEncoder.encode("用户信息","UTF-8");
response.setHeader("Content-Disposition","attachment;filename="+fileName+".xlsx");
ServletOutputStream outputStream= response.getOutputStream();
writer.flush(outputStream,true);
public String importExcel(MultipartFile file) throws IOException {
InputStream in = file.getInputStream();
ExcelReader excelReader=ExcelUtil.getReader(in);
List> list = excelReader.read(1);
List listUser = CollUtil.newArrayList();
user.setUsername(row.get(0).toString());
user.setPassword(row.get(1).toString());
user.setNickname(row.get(2).toString());
System.out.println(listUser);
return listUser.toString();

package com.example.demo.test1;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.example.demo.demo1.User;
import org.apache.xmlbeans.XmlSimpleList;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@RequestMapping("/excel")
public class ExcelController {
@RequestMapping("/export")
public String exportWaybill( HttpServletResponse response)throws IOException {
ExcelWriter writer = ExcelUtil.getWriter();
List
List userList = new ArrayList<>();
userList.add(new User("悟空","123","大圣"));
userList.add(new User("八戒","456","天蓬元帅"));
userList.add(new User("沙僧","789","卷帘大将"));
for (int i = 0; i < userList.size(); i++) {
Map map = new LinkedHashMap<>();
map.put("名字", userList.get(i).getUsername());
map.put("密码", userList.get(i).getPassword());
map.put("昵称", userList.get(i).getNickname());
writer.setColumnWidth(-1, 22);
String name = URLEncoder.encode("西游记","UTF-8");
export(response, writer, rows, name);
System.out.println("success");
private void export(HttpServletResponse response, ExcelWriter writer, List {
writer.write(rows, true);
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + name + ".xls");
ServletOutputStream out = null;
out = response.getOutputStream();
} catch (IOException e) {
