pom依赖:
<dependency>
	<groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.14</version>
</dependency>
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml-schemas</artifactId>
	<version>3.14</version>
</dependency>
<dependency>
	<groupId>org.apache.poi</groupId>
	<artifactId>poi-ooxml</artifactId>
	<version>3.14</version>
</dependency>
HTML5 代码:
<a th:class="${active == '/uploadExcel.html'?'nav-link active':'nav-link'}" th:href="@{/admin/exportData}">导出学生信息</a>
service实现类代码
@Override
    public XSSFWorkbook exportData(HttpServletResponse response) {
        List<Student> students = studentDao.findAll();
        XSSFWorkbook wb = new XSSFWorkbook();
        
        Sheet sheet = wb.createSheet("Student");
        
        Row titleRow = sheet.createRow(0);
        
        titleRow.createCell(0).setCellValue("序号");
        
        titleRow.createCell(1).setCellValue("学号");
        
        titleRow.createCell(2).setCellValue("姓名");
        
        titleRow.createCell(3).setCellValue("身份证");
        
        titleRow.createCell(4).setCellValue("年龄");
        
        titleRow.createCell(5).setCellValue("地址");
        
        int cell = 1;
        
        for (Student student : students) {
            
            
            Row row = sheet.createRow(cell);
            
            row.createCell(0).setCellValue(cell);
            
            
            row.createCell(1).setCellValue(student.getId());
            
            row.createCell(2).setCellValue(student.getName());
            
            row.createCell(3).setCellValue(student.getIdCard());
            
            row.createCell(4).setCellValue(student.getAge());
            
            row.createCell(5).setCellValue(student.getAddress());
            
            cell++;
        }
        
        String fileName = "学生信息表.xlsx";
        OutputStream outputStream =null;
        try {
            
            fileName = URLEncoder.encode(fileName,"UTF-8");
            
            response.setContentType("application/vnd.ms-excel");
            
            response.setHeader("Content-disposition", "attachment;filename=" + fileName);
            outputStream = response.getOutputStream();
            wb.write(outputStream);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                outputStream.flush();
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return wb;
    }
controller层代码:
@GetMapping("/exportData")
    public void exportData(HttpServletResponse response){
        studentService.exportData(response);
    }