java后台導出excel代碼詳細講解


1:引入相關依賴,我用的是grodle,你們也可以去maven倉庫找一下poi這個jar

    compile group: 'org.apache.poi', name: 'poi', version: '3.17'

 

2:寫入后台代碼,我用的是springmvc框架,其實這個都是無所謂的,代碼簡單明了,復制下來就可以拿去用,我也不做太多的介紹了,有什么不懂的可以看下注釋

    /**
     *
     * @return
     * @name 導出數據
     */
    @GetMapping("exportHttp")
    public String daoChu(HttpServletResponse response){

       List<WorkEntity> list =  workService.selectAll();
        // 創建excel
        HSSFWorkbook wk = new HSSFWorkbook();
        // 創建一張工作表
        HSSFSheet sheet = wk.createSheet();
        // 2
        sheet.setColumnWidth(0, 5000);
        HSSFRow row = sheet.createRow(0);
        // 創建第一行的第一個單元格
        // 想單元格寫值
        HSSFCell cell = row.createCell((short) 0);
        cell.setCellValue("序號");
        cell = row.createCell((short)1);
        cell.setCellValue("職位");
        cell = row.createCell((short)2);
        cell.setCellValue("早上上班時間");
        cell = row.createCell((short)3);
        cell.setCellValue("早上下班時間 ");
        cell = row.createCell((short)4);
        cell.setCellValue("下午上班時間");
        cell = row.createCell((short)5);
        cell.setCellValue("下午上班時間 ");

        // 創建第一行
        for (short i=0;i<list.size();i++)
        {
            row = sheet.createRow(i+1);
            row.createCell(0).setCellValue(list.get(i).getWorkId());
            row.createCell(1).setCellValue(list.get(i).getPositionName());
            row.createCell(2).setCellValue(list.get(i).getAMendDate());
            row.createCell(3).setCellValue(list.get(i).getAMstartDate());
            row.createCell(4).setCellValue(list.get(i).getPMendDate());
            row.createCell(5).setCellValue(list.get(i).getPMstartDate());
        }
        try {
            /**
             * 彈出下載選擇路徑框
             */
            response.setContentType("application/octet-stream");
            response.setHeader("Content-disposition", "attachment;filename=Opinion.xls");//默認Excel名稱
            response.flushBuffer();
            wk.write(response.getOutputStream());
            wk.write(new FileOutputStream(new File("D://daochu/a.xls")));
            wk.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        finally {

        }
        return "null";
    }

3:在jsp頁碼觸發這個方法就可以了

                     <input type="button" value="導出" class="ui_input_btn01" id="daochule" />
    <script>
        $(function () {
            $("#daochule").click(function () {
                window.location.href="exportHttp";
            })
        })
    </script>>

我jsp這樣寫 寫的有點麻煩 你們也可以直接把button換成a標簽 直接href="exportHttp" 這樣就可以了  這個就是java后台導出到cxcel 有什么不懂的可以留言偶!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM