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