JXLS模板导出多个sheet文件


/**
     * 宋发准:这个方法主要用于根据模板导出多个sheet的excel文件.
     *
     * @param inputStream:输入流:用于输入模板
     * @param response:用于下载
     * @param filename:文件名
     * @param sheetNamelist:sheet名称,注意:list的size决定了sheet的个数.
     * @param objects:用于输出的文件,是一个list<sheet>的数据,一个sheet代表一个页面.
     * @param tagname:用于页面取值的标记
     */
    public void buildDownloadExcelByMultiSheet(InputStream inputStream, HttpServletResponse response, String filename, List<String> sheetNamelist, ArrayList<SheetBean> objects, String tagname) {
        OutputStream out = null;

        try {
            response.setContentType(HttpUtils.getContentType(filename));
            response.setHeader("Content-Disposition", HttpUtils.getDisposition(filename, false));
            response.setHeader("Pragma", "public");
            response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
            response.setHeader("Cache-Control", "public");
            response.setHeader("Expires", "0");
            response.setHeader("Content-Transfer-Encoding", "binary");
            XLSTransformer transformer = new XLSTransformer();
            Workbook workbook = transformer.transformMultipleSheetsList(inputStream, objects, sheetNamelist, tagname, new HashMap(), 0);
            out = response.getOutputStream();
            workbook.write(out);
        } catch (IOException e) {
            e.printStackTrace();
            _log.error(e);
        } catch (InvalidFormatException e) {
            e.printStackTrace();
            _log.error(e);
        } finally {
            try {
                if (out != null)
                    out.close();
                out = null;
            } catch (IOException e) {
                e.printStackTrace();

            }
        }
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM