中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

echarts圖表如何導出到excel中

發布時間:2021-12-14 09:29:07 來源:億速云 閱讀:2759 作者:iii 欄目:大數據

本篇內容介紹了“echarts圖表如何導出到excel中”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1、頁面部分

<div>
    <button onclick="export1()"  value="導出">導出</button> </div>
    <div id="app" >
    </div>
</body>

2、js部分

2.1、echarts生成圖表

<!-- 引入組件庫 -->
<script src="../js/echarts.js"></script>
<script src="../js/vue.js"></script>
<script src="../js/axios-0.18.0.js"></script>
<script>
// 基于準備好的dom,初始化echarts實例
    var myChart = echarts.init(document.getElementById('app'));

    // 指定圖表的配置項和數據
    var option = {
        title: {
            text: 'ECharts 入門示例'
        },
        tooltip: {},
        legend: {
            data:['銷量','銷售額']
        },
        xAxis: {
            data: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子","帽子"]
        },
        yAxis: {},
        series: [
            {
                name: '銷量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20,100]
            },
            {
                name: '銷售額',
                type: 'bar',
                data: [50, 200, 360, 100, 100, 200,1000]
            }]
    };
    // 使用剛指定的配置項和數據顯示圖表。
    myChart.setOption(option);
</script>

2.2、把echarts生成的圖表獲取圖片base64編碼并提交到后臺

    /**
     * 導出excel中
     */
    function export1() {
        //獲取echarts圖片的base64編碼字符串 pixelRatio:圖片精度  backgroundColor:背景顏色
       let imgURL=myChart.getDataURL({
            pixelRatio: 2,
            backgroundColor: '#fff'
        });
        //后臺請求:傳遞圖表base64編碼字符串
        axios.post("/export.do",{'imagesBase64':imgURL}).then((res)=>{
            if(res.data.flag){
                //根據返回路徑下載文件
                window.location.href=res.data.message;
            }else{
                alert("導出出錯")
            }
        })

    }

注:請求也可以轉成ajax,此處使用axios

3、后端poi導出部分

注:后端使用springmvc+poi

  @PostMapping("export")
    public Result ex(@RequestBody Map<String,String> map,HttpServletRequest request){
        //創建工作簿
        XSSFWorkbook workbook = new XSSFWorkbook();
        //工作表
        XSSFSheet sheet = workbook.createSheet("echarts圖表");

        //獲取前端圖片base64編碼
        String base64 = map.get("imagesBase64");
        //去掉標識22位,解碼
        byte[] img=decode(base64.substring(22));
        //在工作表中畫圖
        XSSFDrawing xssfDrawing = sheet.createDrawingPatriarch();
        //畫圖位置,前四個參數: 單元格位置,距離left,top,right,bottom的像素距離,
        //后四個參數是: 前兩個表示 左上角 列號、行號,  右下角 列號、行號
        XSSFClientAnchor clientAnchor=new XSSFClientAnchor(0,0,0,0,0,0,10,20);
        //根據指定位置來畫圖
        xssfDrawing.createPicture(clientAnchor,workbook.addPicture(img,XSSFWorkbook.PICTURE_TYPE_PNG));
        //獲取模板位置
        String templatesPath = request.getSession().getServletContext().getRealPath("templates")+File.separator+"haha.xlsx";
        File file = new File(templatesPath);
        if(file.exists()){
            file.delete();
        }
        //輸出到模板中
        BufferedOutputStream out=null;
        try {
            out=new BufferedOutputStream(new FileOutputStream(templatesPath));
            workbook.write(out);
            out.flush();
        }catch (Exception e){
            e.printStackTrace();
            return Result.fail("導出失敗");
        }finally {
            //釋放資源
            try {
                if(out!=null){
                   out.close();
                }
                if(workbook!=null){
                    workbook.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        //返回模板位置
        String s = request.getContextPath() + File.separator + "templates" + File.separator + "haha.xlsx";
        return Result.success(s);
    }

“echarts圖表如何導出到excel中”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利津县| 英山县| 南漳县| 保山市| 绥宁县| 开原市| 凤山县| 怀仁县| 禹城市| 嵩明县| 通海县| 淳安县| 随州市| 钟祥市| 封丘县| 冕宁县| 会理县| 潞西市| 台江县| 芦山县| 荣成市| 大庆市| 泽州县| 楚雄市| 洪江市| 台安县| 阿勒泰市| 台东市| 鄱阳县| 溧阳市| 扎鲁特旗| 德惠市| 烟台市| 敖汉旗| 威海市| 湟中县| 建宁县| 陕西省| 和田市| 龙海市| 石首市|