下篇---一键下载,实现从数据库批量保存到本地

分析接口:

bcSubarea/export.action

响应类型:

xlx文件

具体方法:

@RequestMapping(value = "export.action")
    public void export(HttpServletResponse response, HttpServletRequest request) throws IOException {
        List<BcSubarea> bcSubareas = this.bcSubareaServiceI.findAll();
        
        List<BcSubareaVo> bcSubareaVos = new ArrayList<>(bcSubareas.size());//通过避免扩容优化性能

        for(BcSubarea bcSubarea:bcSubareas){
            BcRegion bcRegion = this.bcRegionServiceI.findById(bcSubarea.getRegionId());
            BcSubareaVo bcSubareaVo = new BcSubareaVo();
            BeanUtils.copyProperties(bcSubarea,bcSubareaVo);
            bcSubareaVo.setBcRegion(bcRegion);
            bcSubareaVos.add(bcSubareaVo);

        }

        HSSFWorkbook wk = new HSSFWorkbook();
        HSSFSheet hs = wk.createSheet("分区数据");
        //3 创建标题行
        HSSFRow row = hs.createRow(0);
        row.createCell(0).setCellValue("分区编号");
        row.createCell(1).setCellValue("区域编号");
        row.createCell(2).setCellValue("关键字");
        row.createCell(3).setCellValue("省市区");

        for (BcSubareaVo bcSubareaVo : bcSubareaVos) {
            row=hs.createRow(hs.getLastRowNum()+1);
            row.createCell(0).setCellValue(bcSubareaVo.getId());
            row.createCell(1).setCellValue(bcSubareaVo.getBcRegion().getId());
            row.createCell(2).setCellValue(bcSubareaVo.getAddresskey());
            row.createCell(3).setCellValue(bcSubareaVo.getBcRegion().getProvince()+bcSubareaVo.getBcRegion().getCity());
        }


        String fileName = URLEncoder.encode("分区数据.xls", "UTF-8");
        response.setContentType(request.getSession().getServletContext().getMimeType(fileName));
        response.setHeader("content-disposition", "attchment;filename="+fileName);
        wk.write(response.getOutputStream());

    }

查看结果

分区编号区域编号关键字省市区
11101571755ef484f439e2e8fb08287e6d311北京市北京市
11110ddc5ce432734b239fb8cd466b95bb941111河北省石家庄市
111110ddc5ce432734b239fb8cd466b95bb9411河北省石家庄市
11111110ddc5ce432734b239fb8cd466b95bb941111河北省石家庄市
456125388810ea9427c9e074f9a622a4c65456山西省太原市

总结:

当进入export方法时找寻一次数据库,通过创建HSSFWorkbook 对象,依次使用createSheet createRowcreateCellsetCellValue (依次实现了创建工作表、行、单元格、设值)通过控制getLastRowNum创建一行数据。通过request和response对请求头的设置,使用HSSFWorkbook 中的write

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
openssh(cve-2023-38408)一升级修复-openssh9.5p1下载码是指用来修复OpenSSH软件中的漏洞CVE-2023-38408的最新版本9.5p1的下载码。CVE-2023-38408是指OpenSSH软件中的一个安全漏洞,攻击者可以利用该漏洞在未经授权的情况下执行任意代码或者获取敏感信息。 为了修复这个安全漏洞,OpenSSH项目组发布了最新的版本9.5p1。用户可以通过下载码获得这个版本,并进行一升级,从而修复该漏洞。OpenSSH的一升级功能可以方便用户快速实施安全修复,避免手动升级的繁琐步骤。 要下载OpenSSH9.5p1的最新版本,用户可以访问OpenSSH官方网站或者相关的软件下载网站。一般来说,OpenSSH的官方网站会提供最新版本的下载链接,用户可以在网站上找到对应的下载码,然后使用该下载码完成软件的下载。 一升级修复-openssh9.5p1的过程中,用户需要首先下载该版本的安装包,然后按照安装包中的指示进行安装。安装过程中可能需要用户提供管理员权限或者其他操作,具体步骤可以参考安装包中的文档。完成安装后,用户的OpenSSH软件就会被升级到最新的修复版本,安全漏洞CVE-2023-38408也将得到修复。 总之,通过使用下载码一升级修复-openssh9.5p1,用户可以有效地解决OpenSSH软件中的安全漏洞CVE-2023-38408,保障系统的安全性和稳定性。用户在进行升级前需要确保备份重要数据,并遵循OpenSSH官方的指引和最佳实践,以确保升级过程的顺利进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值