springboot项目Java轻松实现Excel导出


Springboot项目Java轻松实现Excel导出

一、需求背景

要求Java后端实现一个Excel导出功能。

二、工程包引入

  implementation group: 'org.apache.poi', name: 'poi', version: '4.0.1'
  implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '4.0.1'

Maven可以去查询pom.xml的引入方式。

三、示例代码

 @GetMapping("/exportExcel")
    public void exportExcel(HttpServletRequest request, HttpServletResponse response) {

        try {
            HSSFWorkbook wb = new HSSFWorkbook();
            // 根据页面index 获取sheet页
            HSSFSheet sheet = wb.createSheet("人员基本信息");
            HSSFRow rowHead = sheet.createRow(0);
            rowHead.createCell(0).setCellValue("姓名");
            rowHead.createCell(1).setCellValue("年龄");
            rowHead.createCell(2).setCellValue("性别");
            rowHead.createCell(3).setCellValue("工作");
            for (int i = 0; i < 10; i++) {
                // 创建HSSFRow对象
                HSSFRow row = sheet.createRow(i + 1);
                // 创建HSSFCell对象 设置单元格的值
                row.createCell(0).setCellValue("张三" + i);
                row.createCell(1).setCellValue(i);
                row.createCell(2).setCellValue("男" + i);
                row.createCell(3).setCellValue("科研" + i);
            }
            // 输出Excel文件
            OutputStream output = response.getOutputStream();
            response.reset();
            // 设置文件头
            response.setHeader("Content-Disposition",
                "attchement;filename=" + new String("人员信息.xls".getBytes("gb2312"), "ISO8859-1"));
            response.setContentType("application/msexcel");
            wb.write(output);
            wb.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

四、导出效果

大家可以根据自己的需求导出相应的excel内容。