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

    效果图如下:

  • 相关阅读:
    Nginx、PCRE和中文URL(UTF8编码)rewrite路径重写匹配问题
    Nginx 使用中文URL,中文目录路径
    再谈Nginx Rewrite, 中文URL和其它
    事务管理
    commons-dbcp连接池的使用
    JDBC操作简单实用了IOUtils
    JDBC进行处理大文件和批处理
    mysql日期函数(转)
    mysql约束(自己原先总结的有点不准)
    mysql笔记(前面自己写的不标准有些地方)
  • 原文地址:https://www.cnblogs.com/yscit/p/15095865.html
Copyright © 2011-2022 走看看