• 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,触发浏览器下载。

    效果图如下:

  • 相关阅读:
    双色球随机一注
    if else的简写
    select
    预解析
    json
    数组方法
    arguments
    国密SM4算法
    AES算法
    Feistel算法结构与DES加密算法
  • 原文地址:https://www.cnblogs.com/yscit/p/15095865.html
Copyright © 2020-2023  润新知