一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - echarts圖表導出excel示例

echarts圖表導出excel示例

2019-11-21 14:07Java教程網 JAVA教程

這篇文章主要介紹了echarts圖表導出excel示例,需要的朋友可以參考下

根據(jù)傳入的參數(shù)生成相應的圖形

 

復制代碼代碼如下:

loadChart : function(data,item){
  var that = this;
  require(['echarts', 'echarts/chart/bar', 'echarts/chart/line',
    'echarts/chart/pie'], function(ec) {
   that.body.setHeight(800);
   var myChart = ec.init(that.body.dom);
   myChart.showLoading({
    text : "圖表數(shù)據(jù)正在努力加載..."
   });

   
    var option = {
     tooltip : {
      trigger : 'axis',
      axisPointer : { // 坐標軸指示器,坐標軸觸發(fā)有效
       type : 'shadow' // 默認為直線,可選為:'line' | 'shadow'
      }
     },
     legend : {
      data : data.indis,
      x : 'left',
      y : 'top'
     },
     toolbox : {
      show : true,
      orient : 'vertical',
      x : 'right',
      y : 'center',
      feature : {
       mark : {
        show : true
       },
       dataView : {
        show : true,
        readOnly : true
       },
       magicType : {
        show : true,
        type : ['line', 'bar', 'stack', 'tiled']
       },
       restore : {
        show : true
       },
       saveAsImage : {
        show : true
       }
      }
     },
     calculable : true,
     animation : false,
     xAxis : [{
      type : 'category',
      data : data.grp
     }],
     yAxis : [{
      type : 'value',
      splitArea : {
       show : true
      }
     }],
     series : data.bar.series
    };
   }
   myChart.hideLoading();
   myChart.setOption(option);
   that.imgURL = myChart.getDataURL('png');//獲取base64編碼
  });

 },
initEChart : function(){
  require.config({
         paths:{
             'echarts':'js/com/bhtec/echart/echarts',
             'echarts/chart/bar' : 'js/com/bhtec/echart/echarts',
             'echarts/chart/line': 'js/com/bhtec/echart/echarts',
             'echarts/chart/pie': 'js/com/bhtec/echart/echarts'
         }
     }); 
 }

 

將數(shù)據(jù)傳遞到后臺

 

復制代碼代碼如下:

doExport : function(){

  var url = this.chartPanel.getImageURL();
  var target='_blank'>圖片編碼
  Ext.Ajax.request({
   url : 'indicator/exp2excl.mvc',
   params : {
    imgURL:url,
    left:getS(left)
   }
  });
  function getS(d){
      var arr = [],str;
      for(var i=0;i<d.length;i++){
          var s = IndiFn.getAxisStr(d[i]);
          arr.push(s);
      }
      str = arr.join(',');
      return str;
  }
  var data = Ext.getCmp("indi_pivotGrid_id").extractData();
  var s,arr=[];
  for(var i=0;i<data.length;i++){
      arr.push(data[i]);
  }

  window.open('indicator/exportList2Excel.mvc?title='+encodeURIComponent(encodeURIComponent(title))+'&left='+encodeURIComponent(encodeURIComponent(getS(left)))+'' +
    '&top='+encodeURIComponent(encodeURIComponent(getS(t)))+'&data='+arr.join(';'));
 }

 

解析base64,生成圖片

 

復制代碼代碼如下:

public void base64TOpic(String fileName, HttpServletRequest req) {
  //對字節(jié)數(shù)組字符串進行Base64解碼并生成圖片
        if (imgsURl == null) //圖像數(shù)據(jù)為空
            return ;
        BASE64Decoder decoder = new BASE64Decoder();
        try 
        {
         String[] url = imgsURl.split(",");
         String u = url[1];
            //Base64解碼
         byte[] buffer = new BASE64Decoder().decodeBuffer(u);
            //生成圖片
            OutputStream out = new FileOutputStream(new File(req.getRealPath("pic/"+fileName+".jpg")));    
            out.write(buffer);
            out.flush();
            out.close();
            return;
        } 
        catch (Exception e) 
        {
            return;
        }
 }

 

通過poi畫圖,將圖片放入到excel

 

復制代碼代碼如下:

row = sheet.createRow(index+3);
  HSSFCell headerCell = row.createCell(0);    
  headerCell.setCellType(HSSFCell.CELL_TYPE_BLANK);  
  headerCell.setCellValue(title);

  row = sheet.createRow(index + 6);
  HSSFCell cells = row.createCell(0);
  cells.setCellType(HSSFCell.CELL_TYPE_BLANK);
  ByteArrayOutputStream outStream = new ByteArrayOutputStream(); // 將圖片寫入流中
  BufferedImage bufferImg = ImageIO.read(new File(req.getRealPath("pic/"+fileName+".jpg")));
  ImageIO.write(bufferImg, "PNG", outStream); // 利用HSSFPatriarch將圖片寫入EXCEL
  HSSFPatriarch patri = sheet.createDrawingPatriarch();
  HSSFClientAnchor anchor = new HSSFClientAnchor(5, 5, 5, 5,
    (short) 1, index + 6, (short) 6, 45);
  patri.createPicture(anchor, workbook.addPicture(
    outStream.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));
  try {
   workbook.write(out);
   out.flush();
   out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费在线视频一区 | 欧美激情影音先锋 | 国产福利在线观看91精品 | 国内自拍2020 | eeuss18影院www国产 | 国产欧美综合一区二区 | avav一区 | 男人女人叉叉叉 | 国产一区二区免费在线 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲伦理天堂 | 精品视频二区 | 青草香蕉精品视频在线观看 | 国产综合色在线视频区色吧图片 | 国产精品免费aⅴ片在线观看 | 美日毛片 | 香蕉国产精品偷在线播放 | 亚洲+国产+图片 | 国产亚洲精品精品国产亚洲综合 | 久久91精品国产91久久户 | 美女隐私部位视频网站 | 506rr亚洲欧美 | 胸奶好大好紧好湿好爽 | 欧美日韩国产成人综合在线 | 国产美女屁股直流白浆视频无遮挡 | 男女车车好快的车车免费网站 | 男女肉文高h | 男女操bb | 国产成人手机在线 | 久久99影院 | 亚洲狠狠网站色噜噜 | 视频免费观看在线播放高清 | 停停色 | 四虎影院在线免费观看 | 精品国产乱码久久久久久软件 | 好大好硬好深好爽想要吃奶 | 国产在线精品一区二区高清不卡 | 青草久久网| 向日葵视频app下载18岁以下勿看 | 国产成人精品综合在线观看 | 深夜在线观看网站 |