zoukankan      html  css  js  c++  java
  • ECharts图表导入Excel

    一、获取Echarts图片数据

    
    
    //myChart为全局变量,图表对象;getDataURL方法用来获取图片数据,默认图片格式为"png",可以根据需要设置
    var imgData = myChart.getDataURL();

    二、后台处理

     2.1 引用NPOI

    2.2 获取数据流

    //get the image data and trim "data:image/png;base64,".
    string imgData = Request.Form["imgData"];
    imgData = imgData.Split(',')[1];
    Byte[] bytes = Convert.FromBase64String(imgData);

    2.3 写入excle文件

    2.2.1 xls文件

    
    
    //create a hssworkbok
    HSSFWorkbook sheets = new HSSFWorkbook();
    //create a sheet
    HSSFSheet sheet1 = (HSSFSheet)sheets.CreateSheet("your sheet's name");
    //create a patriarch
    HSSFPatriarch patriarch = (HSSFPatriarch)sheet1.CreateDrawingPatriarch();
    //create a anchor
    HSSFClientAnchor anchor = new HSSFClientAnchor();
    //load the picture and get the picture index in the workbook
    int pictIndx = sheets.AddPicture(bytes, PictureType.PNG);
    //create a picture
    HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, pictIndx);
    //Reset the image to the original size.
    pict.Resize();
    //set the file path
    string filePath = "your file path";//relative file path
    //write to file
    using (FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath(filePath), FileMode.Create))
    {
      sheets.Write(fs);
    }

    2.2.2 xlsx文件

    //create a workbook.
    XSSFWorkbook sheets = new XSSFWorkbook();
    //create a sheet.
    ISheet sheet1 = sheets.CreateSheet("your sheet's name");
    //create a patriarch.
    XSSFDrawing patriarch = (XSSFDrawing)sheet1.CreateDrawingPatriarch();
    //create a anchor.
    XSSFClientAnchor anchor = new XSSFClientAnchor();
    //load the picture and get the picture index in the workbook.
    int pictIdx = sheets.AddPicture(bytes, XSSFWorkbook.PICTURE_TYPE_PNG);
    //create a picture.
    IPicture pict = patriarch.CreatePicture(anchor, pictIdx);
    //reset the image to the original size.
    pict.Resize();
    //set the file path
    string filePath = "your file path";//relative file path
    //write to file
    using (FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath(filePath), FileMode.Create))
    {
      sheets.Write(fs);
    }

    2.4 下载

    将文件路径传到前端href或src,触发浏览器下载。

    效果图如下:

  • 相关阅读:
    Django Cookie Session和自定义分页
    ORM版学员管理系统3
    ORM版学员管理系统2
    ORM版学员管理系统1
    Django 基础 ORM系统
    Django 基础 模板系统
    Django 基础 视图系统
    property 与 attribute 的区别?
    SQL数据库相关
    观察者模式-猫叫了,老鼠跑了,主人醒了...
  • 原文地址:https://www.cnblogs.com/yscit/p/15095865.html
Copyright © 2011-2022 走看看