风一更--软件开发--UI--angular 功能

目的:记录项目中 Angular 的功能性实现编码.


1. download excel

 public static void exportArchive(Map finalizationResult, HttpServletResponse httpServletResponse){
        httpServletResponse.reset();

        Archive<Map,XSSFWorkbook> archive = new ArchiveImpl();
        XSSFWorkbook exportWithExcel =  archive.exportExcel(finalizationResult);

        DateTimeFormatter dateTimeFormatter = DateTimeFormatter
                .ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime now = LocalDateTime.now();
        String timeStr = now.format(dateTimeFormatter);
        String fileName = "aqua_edge_regress_performance_"+timeStr;

        OutputStream os = null;
        try{
            httpServletResponse.setHeader("Content-Disposition",
                    "attachment;filename="+
                    new String((fileName+".xlsx").getBytes("UTF-8"),"ISO-8859-1"));
            httpServletResponse.addHeader("Access-Control-Expose-Headers","Content-Disposition");
            os = httpServletResponse.getOutputStream();

            exportWithExcel.write(os);
            httpServletResponse.getOutputStream().flush();
        }catch (Exception e){
            e.printStackTrace();
        }finally{
            try{
                exportWithExcel.close();
                httpServletResponse.getOutputStream().close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
back-end export excel

Angular 前端的处理:

http 请求使用 blob的返回类型.

获取文件流后,对数据进行Blob,

再提交给browser 下载.

方式一, 下载文件名在前端生成.


方式二:(暂未成功,未能处理好 Blob  BlobPart,  HttpResponse<Blob>

而后未能取到 blob / blobPart  data 载荷。


 

 

 

 

 

 


 

posted @ 2023-05-17 13:50  君子之行  阅读(7)  评论(0)    收藏  举报