Demo entry 6763799



Submitted by anonymous on Oct 26, 2018 at 04:45
Language: Java. Code size: 1.1 kB.

    public void downloadExcelTest(String contextName, List<?> excelList, String templateFileName, String downloadFileName, HttpServletResponse response) throws Exception {
        // 1. 미리 만들어둔 엑셀 템플릿 파일에 대한 InputStream 생성
        InputStream templateStream = resourceLoader.getResource("classpath:template/excel/" + templateFileName).getInputStream();

        // 2. 응답객체에 OutPutStream 생성
        OutputStream targetStream = response.getOutputStream();

        // 3. 컨텍스트 객체 생성 및 세팅
        // 3-1. context 속성에 컨텍스트명과 엑셀에 쓰일 데이터를 Key & Value로 세팅
        // 3-2. 여기서 contextName은 엑셀 템플릿파일에서 items="컨텍스트명"과 반드시 일치
        Context context = new Context();
        context.putVar(contextName, excelList);

        // 4. 엑셀다운로드위한 response 객체 세팅
        response.setHeader("Content-Disposition", String.format("attachment; filename=\"%s\"", URLEncoder.encode(downloadFileName,"UTF-8")));

        // 5. templateStream 으로 부터 템플릿을 읽어 들인 후 context를 targetStream에 씀
        JxlsHelper.getInstance().processTemplate(templateStream, targetStream, context);

This snippet took 0.00 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).