springMVC-Excel文件的导出

1.在pom文件中添加依赖

<dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.15</version>
    </dependency>

2.在properties文件中添加模板路径

路径可自己选择

export.employee.path=D:\\twoworkspace\\crm\\src\\main\\webapp\\xls\\employeeTemplate.xls

3.读取properties配置文件

在spring-dao,xml配置文件中读取properties配置文件(这里路径可根据实际调整)

<context:property-placeholder location="classpath:conf/*.properties"></context:property-placeholder>

4.在页面中触发表格导出事件

这里使用超链接触发事件,然后通过controller来实现

<a href="/employee/exportXls.do" class="btn btn-warning" >
                            <span class="glyphicon glyphicon-download"></span> 导出
</a>

5.通过controller具体实现

  /**
     * 1.数据库操作(在数据库中将所有的员工都读取出来,每一个员工的相关信息作为一行)
     * 2.excel文件生成(将查询来的员工信息分别放到对应的单元格中)
     * 3.文件下载(设置头,身体和状态码)
     * @return
     */
     //在properties配置文件中创建导出表格时的模板路径,并用字符串定义
    @Value("${export.employee.path}")
    private  String  exportEmployeeXlsPath;
    @RequestMapping("/exportXls")
    @ResponseBody
    public ResponseEntity<byte[]> exportXls() throws IOException {
   
        //1.读取数据库中所有员工信息
        List<Employee> employees = employeeService.selectAll();
        //2.生成xls文件,数据导入进xls文件中
            //无参构造器,新建一个xls文件
            //如果有inputstream 就是读取一个xls文件的wb对象(读模板)
        InputStream is = new FileInputStream(exportEmployeeXlsPath);
            //文件  -->  页  -->  行  -->  单元格
            //定义一个xls文件(创建文件)
        HSSFWorkbook wb = new HSSFWorkbook(is);
            //sheet页操作  0表示第一个sheet页(获取文件的第一页)
        HSSFSheet sheet = wb.getSheetAt(0);
            //行 row
            //普通行(获取第三行)
        HSSFRow firstRow = sheet.getRow(2);
            //普通行样式(获取第三行的样式)
        HSSFCellStyle[] firstStyle=new  HSSFCellStyle[7];
        for (int i = 0; i < firstStyle.length; i++) {
   
            HSSFCell cell = firstRow.getCell(i);
            firstStyle[i]=cell.getCellStyle();
        }

	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值