首页 > 技术文章 > java后端导出excel表格

zuoxh 2018-10-09 14:19 原文

转载 :https://www.cnblogs.com/zhaoyuwei/p/9038135.html

不需要在实体类些@Excel(name = "登录名", width = 16, orderNum = "1")这些

 1 @RequestMapping("/exportExcel.do")
 2 public void export(HttpServletResponse response) {
 3         //从数据库查询出数据
 4         List<User> list = userService.selectAll();
 5         // 创建excel
 6         HSSFWorkbook wk = new HSSFWorkbook();
 7         // 创建一张工作表
 8         HSSFSheet sheet = wk.createSheet("用户表");
 9         // 设置工作表中的1-3列的宽度
10         sheet.setColumnWidth(0, 5000);
11         sheet.setColumnWidth(1, 5000);
12         sheet.setColumnWidth(2, 5000);
13         //创建第一行
14         HSSFRow row1 = sheet.createRow(0);
15         // 创建第一行的第一个单元格
16         // 向单元格写值
17         HSSFCell cell = row1.createCell(0);
18         cell.setCellValue("用户表");
19         //合并单元格CellRangeAddress构造参数依次表示起始行,截止行,起始列,截至列。
20         //0表示 第一行第一列
21         sheet.addMergedRegion(new CellRangeAddress(0,0,0,2));
22         //创建第二行
23         HSSFRow row2 = sheet.createRow(1);
24         row2.createCell(0).setCellValue("登录名");
25         row2.createCell(1).setCellValue("年龄");
26         row2.createCell(2).setCellValue("昵称");
27 
28         // 创建第一行
29         for (int i = 0; i < list.size(); i++) {
30             //创建行    一条数据一行
31             HSSFRow row = sheet.createRow(i + 2);
32             row.createCell(0).setCellValue(list.get(i).getName());
33             row.createCell(1).setCellValue(list.get(i).getAge());
34             row.createCell(2).setCellValue(list.get(i).getNickName());
35         }
36         try {
37             /**
38              * 弹出下载选择路径框
39              */
40             Date date = new Date();
41             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
42             String str = sdf.format(date);
43             response.setContentType("application/octet-stream");
44             response.setHeader("Content-disposition", "attachment;filename=" + str + ".xls");// 默认Excel名称
45             response.flushBuffer();
46             wk.write(response.getOutputStream());
47             // wk.write(new FileOutputStream(new File("D://daochu")));
48             wk.close();
49         } catch (IOException e) {
50             e.printStackTrace();
51         }
52 
53     }

 

前端代码和js

 

<input type="button" value="导出" class="ui_input_btn01" id="daochule" />


$(function () {
$("#daochule").click(function () {
window.location.href="exportExcel.do";
})
})

 

依赖

 1 <!--导出的核心依赖-->

  <dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-base</artifactId>
    <version>3.2.0</version>
  </dependency>


就可以直接导出excel表

 

推荐阅读