java后端导出excel表格

本文详细介绍了使用Java进行Excel导出的过程,包括从数据库查询数据、创建Excel工作表、设置列宽、填充数据及合并单元格等步骤。通过具体代码示例,展示了如何将查询到的用户数据写入Excel,并提供了前端按钮触发导出的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载 :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表

 

转载于:https://www.cnblogs.com/zuoxh/p/9760058.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值