发送ajax请求用POI导出excel

终于有时间可以把最近学的知识点总结一下啦^^下面一个简单的demo把POI导出Excel的例子分享一下:

1、当然是导入POI相关的jar包啦


    org.apache.poi
    poi-ooxml-schemas
     3.10-FINAL

 
    org.apache.poi
    poi-ooxml
     3.10-FINAL


 
    org.apache.poi
    poi
     3.10-FINAL

不是maven得话:


2、前台页面直接用ajax请求传递参数即可

3、后台直接上代码(代码经过测试可行)

HSSFWorkbook workbook = new HSSFWorkbook();//创建工作薄
HSSFSheet sheet = workbook.createSheet("xxxx");//名称
sheet.setColumnWidth(0, 8000);
sheet.autoSizeColumn(1);
HSSFCellStyle style = workbook.createCellStyle();
HSSFFont fontSearch = workbook.createFont();
style.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);
style.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE);
HSSFRow rowtitle = sheet.createRow(0);
rowtitle.createCell(0).setCellValue("1111");//第一列标题
rowtitle.createCell(1).setCellValue("2222");//第二列标题
rowtitle.createCell(2).setCellValue("3333");//第三列标题
rowtitle.createCell(3).setCellValue("4444");//第四列标题
rowtitle.createCell(4).setCellValue("5555");//第五列标题

(list是我已经查询出来的存放对象的集合)
for(int i = 0;i {
HSSFRow row = sheet.createRow(i+1);
row.createCell(0).setCellValue(list.get(i).getxxxxx());//设置每一列的值
row.createCell(1).setCellValue(list.get(i).getxxxx());//我用xxxx代表获取的属性
row.createCell(2).setCellValue(list.get(i).getxxxx());
row.createCell(3).setCellValue(list.get(i).getxxxx());
row.createCell(4).setCellValue(list.get(i).getxxxx());
}

//将Excel通过流写在D盘上(这种方式是可以用ajax发送请求的,)

FileOutputStream fileOutputStream = new FileOutputStream("D:\\xxxx.xls");
        workbook.write(fileOutputStream);
        fileOutputStream.flush();
        fileOutputStream.close();

4、注意:如果是通过浏览器下载的话,得加这个:

// String filename = "订餐情况汇总"+".xls";
// response.setContentType("application/vnd.ms-excel");     
// response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(filename,"UTF-8"));  

前台页面这样传值


得加上location.href=url;

5、OK啦



你可能感兴趣的:(POI导出excel)