一、pom.xml添加依赖
<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.0</version>
</dependency>
 
 
二、导出
package com.example.testpoi.controller;
import com.example.testpoi.entity.emp;
import com.example.testpoi.service.DcService;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
@RestController
@RequestMapping("/dc")
public class DcController {
    @Autowired
    private DcService dcService;
    @RequestMapping(value = "/dc")
    public void dc(HttpServletResponse response){
        List<emp> emps = dcService.getData();
        response.setContentType("application/binary;charset=urt-8");
        String title = "员工表";
        String filename = "Scott员工表";
        try {
            response.setHeader("Content-Disposition","attachment;fileName=" + URLEncoder.encode(filename + ".xls", "UTF-8"));
            HSSFWorkbook workbook = new HSSFWorkbook();     //创建工作簿
            HSSFSheet sheet = workbook.createSheet(title);    //工作表
            HSSFRow row = sheet.createRow(0);                           //第一行
            String headers[] = {"员工编号","员工姓名","员工职位","上司编号","员工生日"};    //表头
            int width[] = {4000,4000,4000,4000,4000};
            //设置表头
            HSSFCell cell = null;
            for (int i=0; i<headers.length; i++){
                cell = row.createCell(i);
                cell.setCellValue(headers[i]);
                sheet.setColumnWidth(i,width[i]);
            }
            //设置表体
            int rowCount = 1;       //第二行开始
            for (emp e: emps) {
                row = sheet.createRow(rowCount);
                row.createCell(0).setCellValue(e.getEmpno());
                row.createCell(0).setCellValue(e.getEname());
                row.createCell(0).setCellValue(e.getJob());
                row.createCell(0).setCellValue(e.getMgr());
                row.createCell(0).setCellValue(e.getHiredate());
                rowCount ++;
            }
            OutputStream out = response.getOutputStream();
            workbook.write(out);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}