使用POI从数据库动态获取并导出excel文档

public String exportXls() throws IOException{

    //查询所有的分区数据
    List<Entity> list = xlsService.findAll();

    HSSFWorkbook hssfWorkbook = new HSSFWorkbook();

    //1.创建sheet
    HSSFSheet sheet = hssfWorkbook.createSheet("sheetName");

    //2.创建首行
    HSSFRow headerRow = sheet.createRow(0);

    //3.创建行内的每一个单元格 总共5列
    headerRow.createCell(0).setCellValue("cellName1");
    headerRow.createCell(1).setCellValue("cellName2");
    headerRow.createCell(2).setCellValue("cellName3"); 
    headerRow.createCell(3).setCellValue("cellName4");
    headerRow.createCell(4).setCellValue("cellName5");

    //4.遍历list,动态加入到单元格内
    for (Entity entity : list) {
        //每遍历一次,在末尾行动态添加一行
        HSSFRow data = sheet.createRow(sheet.getLastRowNum()+1);

        //动态添加数据
        data.createCell(0).setCellValue(entity.getproperty1());
        data.createCell(1).setCellValue(entity.getproperty2());
        data.createCell(2).setCellValue(entity.getproperty3());
        data.createCell(3).setCellValue(entity.getproperty4());
        data.createCell(4).setCellValue(entity.getproperty5());

    }

    //5.添加完成后,使用输出流下载
    ServletOutputStream out = ServletActionContext.getResponse().getOutputStream();

    String filename="my.xls";

    //实际上就是解析了tomcat web.xml MIME xls类型
    String contentType = ServletActionContext.getServletContext().getMimeType(filename);

    //设置文件的类型(后缀名)
    ServletActionContext.getResponse().setContentType(contentType);

    //设置响应头,指定下载的文件名
    ServletActionContext.getResponse().setHeader("content-disposition", "attachment;filename="+filename);

    //使用workbook提供的write方法
    hssfWorkbook.write(out);
    return NONE;
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值