将List生成csv文件并将csv文件转OutputStream流传回前端

主要使用Java的泛型、反射、临时文件、文件流

整体流程:
要返回文件给前端,只需要获取response中的OutputStream,然后像其中写入文件流,就能返回前端进行下载了。

1、controller层的代码

			OutputStream stream = response.getOutputStream();
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setHeader("content-Disposition", "attachment;filename=" + URLEncoder.encode("导入详情.csv", "utf-8"));
            stream = blacklistService.exportImportDetails(fileCode, stream);
            stream.flush();
            stream.close();

2、在service层调用工具类,并将处理后的文件流写入OutputStream

		List<ImportInfo> importInfos = ResultManage.importInfosMap.get(fileCode);  //取到你要转化成csv的集合
        String[] attributeSet = {
   "name","idCard","address","importResult","resultInfo"};  //设置要获取的字段
        CsvExportUtil.export(importInfos,outputStream, ExportImportRecordEnum.class,attributeSet); //调用工具类
        return  outputStream;

3、工具类
代码不长,有可以优化的地方,多多指教。


import org
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值