java通过poi导出Excel(手动获取对象属性)

java通过poi导出数据库数据到Excel,手动获取对象属性。并且在浏览器弹出下载框下载Excel

Jakarta POI 是一套用于访问微软格式文档的Java API。

首先需要导jar包
maven项目pom.xml添加依赖

       
            org.apache.poi
            poi-ooxml
            3.14-beta1
        

在Web层编辑导出Excel代码

这样为了方便使用SpringMVC

首先,理解一下一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成。

    @RequestMapping(value = "/getExcel")
    @ResponseBody
    public String getExcel(HttpServletResponse response)  throws IOException{
    	//查询全部User信息
        List userList =userService.findAllUser();

		//创建HSSFWorkbook对象
        HSSFWorkbook wb = new HSSFWorkbook();
		//创建HSSFSheet对象
        HSSFSheet sheet = wb.createSheet("成绩表");
		//创建HSSFRow对象
        HSSFRow row = sheet.createRow(0);
		//创建HSSFCell对象
        HSSFCell cell=row.createCell(0);
		//设置单元格的值
        cell.setCellValue("用户信息表");
        sheet.addMergedRegion(new CellRangeAddress(0,0,0,2));
        //遍历userList
        int i=1;
        for (User user:userList){

            //在sheet里创建第i行
            HSSFRow irow=sheet.createRow(i);
            //创建单元格并设置单元格内容
            irow.createCell(0).setCellValue(user.getUserId());
            irow.createCell(1).setCellValue(user.getUsername());
            irow.createCell(2).setCellValue(user.getPassword());

            i++;
        }
		//输出Excel文件
        OutputStream output=response.getOutputStream();
        response.reset();
        response.setHeader("Content-disposition", "attachment; filename=details.xls");
        response.setContentType("application/msexcel");

        //FileOutputStream output=new FileOutputStream("d:\\workbook.xls");

        wb.write(output);

        output.close();
        return null;
    }

本文借鉴

https://blog.csdn.net/jerehedu/article/details/45195359 作者:杰瑞教育

链接中还提供了很多Excel知识

你可能感兴趣的:(java及javaweb,ssm框架)