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

    效果图如下:

  • 相关阅读:
    bug排查
    做接口测试没反应
    wcf配置文件
    mvc学习-编辑提交需要注意-mvc重点
    大批量导出思路
    进程基础知识
    (转)JMS事务
    (转)JMS简明学习教程
    (转)Linux下使用system()函数一定要谨慎
    LInux文件基础知识和文件目录操作(二)文件I/O操作
  • 原文地址:https://www.cnblogs.com/yscit/p/15095865.html
Copyright © 2011-2022 走看看