vue导出Excel和包含echarts的页面导出pdf

2023-11-19

Vue用Export2Excel导出excel单表头和多表头

报错解决:版本原因

exportdefault (imported asXLSX) was not found in ‘xlsx‘
"file-saver": "^2.0.2",
"xlsx": "^0.16.0"

vue-json-excel插件实现导出

vue中纯前端vue-json-excel插件实现导出简单Excel表格的功能步骤
暂时没想到多级表头用vue-json-excel插件实现办法
注意点:
1.依赖download.js

2.此组件生成的excel,如果使用office打开,会提示但能打开,用wps可以直接打开
在这里插入图片描述

前端将Blob流文件转为文件导出

vue下载插件,直接调用方法导出

    "xlsx": "^0.17.0",
    "file-saver": "^2.0.5",
    "script-loader": "^0.7.2"
 methods: {
    exportComm() {
      // 一级单元格地址
      // this.cellAddrs.push(this.getCellAddrForJson(0, 0, 0, 0));
    },
    getCellAddrForJson(firstRow, lastRow, firstCol, lastCol) {
      return {
        firstRow: firstRow,
        lastRow: lastRow,
        firstCol: firstCol,
        lastCol: lastCol,
      };
    },
    exportCurrent() {
      let fd = new FormData();
      var list = this.tableData; //tableData是列表返回的数据数组
      if (list.length == 0) {
        this.$message({
          message: "列表暂无数据",
          type: "warning",
        });
      }
      if (list.length > 0) {
        fd.append(
          "titles[0]/title",
          "表头,表头,表头,表头,表头,表头,表头,表头,表头"
        );
        var list1 = this.cellAddrs; //cellAddrs是data中数组
        for (let i = 0; i < list1.length; i++) {
          fd.append("cellAddrs[" + i + "]/firstRow", list1[i].firstRow);
          fd.append("cellAddrs[" + i + "]/lastRow", list1[i].lastRow);
          fd.append("cellAddrs[" + i + "]/firstCol", list1[i].firstCol);
          fd.append("cellAddrs[" + i + "]/lastCol", list1[i].lastCol);
        }
        fd.append("condParam/exportFileFuncCode", "EAS_TJCX_ZDSBYXZTTJ");
        // fd.append("condParam/datas", this.tableData);
        fd.append(
          "condParam/exportFileLogicName",
          "com.tl.eas.eepa.biz.ha2OneTgOneZb.ha2OneTgOneZb.zongIndexList06Export"
        );
        fd.append("condParam/shardNo", this.ruleForm1.shardNo); //查询条件
        var list2 = this.$refs["tableForList"].columns; //el-table里绑定的ref值
        for (let i = 0; i < list2.length; i++) {
          if (list2[i].property) {
            fd.append("headers[" + i + "]/header", list2[i].label);
            fd.append("headers[" + i + "]/width", list2[i].minWidth + "px");
            fd.append("headers[" + i + "]/field", list2[i].property);
          }
        }
        authService
          .exportCurrentToExcel(fd)//导出调用的方法
          .then((res) => {
            // console.log("返回值", res);
            // 将文件流转成blob形式
            const blob = new Blob([res.data], {
              type: "application/vnd.ms-excel",
            });
            let filename = "导出表格名字.xls";
            // 创建一个超链接,将文件流赋进去,然后实现这个超链接的单击事件
            const elink = document.createElement("a");
            elink.download = filename;
            elink.style.display = "none";
            elink.href = URL.createObjectURL(blob);
            document.body.appendChild(elink);
            elink.click();
            URL.revokeObjectURL(elink.href); // 释放URL 对象
            document.body.removeChild(elink);
          })
          .catch(() => {
            this.$message.error("导出失败");
          });
      }
    },
  },

vue 导出HTML页面(包含echarts)为PDF

包含echarts为PDF

html导出pdf

vue 页面导出pdf-博客园

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue导出Excel和包含echarts的页面导出pdf 的相关文章

  • 如何在 15 秒内每 3 秒调用一次函数?

    如何每 3 秒调用一次 jQuery 函数 document ready function do stuff post each function do stuff do stuff 我正在尝试运行该代码 15 秒 到目前为止 没有一个答案
  • 将某些 observableArray 对象属性转换为 observable

    假设我有这个相同类型对象的数组 var people status 0 name name1 status 1 name name2 我不仅希望它是 observableArray 而且我只想观察每个对象的状态属性 想象一下对象本身可能会被
  • Javascript/CSS Lightbox 仅适用于第一个元素?

    我试图在单击每张照片时在 Javascript CSS 灯箱中打开我的每张照片 目前 我的照片列表中只有第一张照片在灯箱中打开 其他照片无法在灯箱中打开 请有人解释 告诉我这是为什么 并解释 告诉我这样做的正确方法 这是我的 HTML PH
  • Chrome:将异常详细信息打印到控制台

    如何从我的代码中打印 chrome devtools 中异常的堆栈跟踪 我尝试了以下方法 function doSomething undefined This throws an exception try doSomething cat
  • PHP 游戏中的循环迭代

    尝试让它循环 3 次 并在第 3 次之后 如果没有猜对 显示正确答案 目前 它正在经历猜测 但没有显示还剩下多少猜测 应该扣除每个 每次尝试 任何人 如果你能告诉我我哪里出错了
  • 获取 value 属性无法获取输入的当前值

    我想编写一个程序 这样我可以输入 0 到 255 之间的 IP 地址数字 我的代码可以在 IE 中运行 但不能在 Firefox 或 Chrome 中运行 function check obj var txt obj getAttribut
  • 如何从 facebook javascript SDK 获取个人资料图片?

    我正在尝试从 Facebook 获取个人资料图片 现在我正在从 Facebook 获取所有信息 但无法获取用户的个人资料照片 这是我的代码 function getFBData FB api me function response fbi
  • Javascript:在 createElement 脚本中运行“document.write”失败

    我有一个问题document write 现在 我有一个动态加载脚本的页面 所以 我用document createElement创建一个
  • javascript排序将中间项放在顶部

    我有以下排序功能 var timeArray new Array 11 41 11 39 11 41 11 41 11 40 11 70 11 39 11 38 11 38 11 37 11 37 timeArray sort functi
  • Unraveling Angular 2 书,第 1 章,示例 5

    该页面显示了潜水列表 它有一个 添加新潜水 清除潜水 和一个搜索框 该搜索框会在您输入内容时过滤显示的列表 这是模板 div class container fluid h1 My Latest Dives Angular TypeScri
  • 使用 jQuery 从表单外部的链接提交表单

    我正在尝试从导航栏中的链接提交表单 我是 javascript jQuery 的新手 不确定为什么它不会执行 我有一种感觉 我需要在链接的 href 中添加其他内容 但我不确定它是什么 我很欣赏您的反馈和专业知识 LINK li a hre
  • 按箭头键时光标会跳跃

    我有一个文本框 无法在其中输入禁用字符 然而 当文本框填充了数据时 我将焦点放在文本框的中间 然后使用箭头键左右移动 然后它跳到文本框的末尾 这是有效的 如果我也在文本框中间输入一个字符 它会再次转到末尾 id txtClient keyu
  • Javascript get Between 函数多个实例

    function getBetween content start end var r content split start if 1 in r var z r 1 split end return z 0 return 您好 我编写的函
  • 如何根据所选类别隐藏 Django 表单中的字段?

    我需要确保当您添加新广告时 选择一个类别 隐藏表单中不必要的字段 我明白这是用JS做的 但暂时不太明白 所以我告诉你是否有人擅长 例如 我希望在选择 房屋和土地 时 舞台 消失 上市型号 class Listing models Model
  • 根据已知的纬度和经度点在图像上放置点的尝试失败

    我为这个含糊的标题道歉 我真的想不出更好的方法来总结它 非常欢迎提出建议 我正在开发一个实际上不需要谷歌地图的项目 它只会为这个项目带来额外的开销 但是 到目前为止 我不知道如何在没有谷歌地图的情况下做到这一点 如果我要将平面图的图形叠加层
  • 如何在分形绘图递归函数中创建延迟

    我正在玩一个分形绘图递归函数 遇到了雄辩的 JavaScript https eloquentjavascript net 我想为每个分支的绘制设置一个延迟 以便在我修改此函数及其参数时可视化分支 递归调用的流程 我用过的方式setTime
  • 反应材料ui自动完成元素焦点onclick

    我有一个 Material ui 自动完成元素
  • 为什么在用一种元素替换另一种元素时,replaceChild() 的行为会很奇怪?

    我对 javascript 比较陌生 发现了一个我今天无法解释的有趣行为 我有一个习惯 hr 带有图像 在网站上 在 IE7 及更低版本中显示奇怪 为了克服这个问题 我想使用replaceChild 结合getElementsByTag 最
  • API 的集成与单元测试

    我们可以考虑向端点 单元或集成测试 发送请求吗 import lib from testing lib const testClient expect lib const response testClient request app ge
  • 获取数组中最高的角色

    我目前有一个数组u roles其中充满了来自 581199939464462340 等组的 ID 其次 我有一个字典 其中键是角色 ID 值是名称 例如 key 581199939464462340 value Member 现在我想获取数

随机推荐

  • DataGrip配置设定

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 下载安装 二 使用步骤 1 配置成中文 2 导入旧的设定 3 常用操作 总结 前言 提示 这里可以添加本文要记录的大概内容 更换电脑 重装DataGrip
  • java通过word模板生成导出word

    java通过word模板生成导出word 生成word方法类 public class BokeWordUtils 根据模板生成新word文档 判断表格是需要替换还是需要插入 判断逻辑有 为替换 表格无 为插入 param inputUrl
  • MYSQL数据库转化成H2数据库

    mysql数据库数据导成CSV文件 H2 数据库导入CSV文件 代码如下 insert into tableName select from csvread c import data csv
  • DBCP 应用的总结(一)

    DBCP 应用的总结 1 Jar包下载 首先 下载必须的jar包 dbcp包 http jakarta apache org commons dbcp pool包 http jakarta apache org commons pool 如
  • POJ 2676 Sudoku 数独(dfs)

    POJ 2676 Sudoku 数独 dfs Sudoku is a very simple task A square table with 9 rows and 9 columns is divided to 9 smaller squ
  • Java jvm 内存溢出分析

    1 如何分析jvm内存溢出呢 我们经常用visualVm监控Jvm的内存 cpu 线程的使用情况 通常可以根据内存不断增长来判断内存是否存在不释放 但是我们不可能时时盯着去看 这里涉及jvm堆内存配置 堆内存参数配置和调优会在其他章节编写
  • 逆波兰表达式求值(C语言实现)

    实验项目 从文本文件输入任意一个语法正确的 中缀 表达式 显示并保存该表达式 利用栈结构 把上述 中缀 表达式转换成后缀表达式 并显示栈的状态变化过程和所得到的后缀表达式 利用栈结构 对上述后缀表达式进行求值 并显示栈的状态变化过程和最终结
  • 【mcuclub】数据存储AT24C02

    一 实物图 二 原理图 编号 名称 功能 1 A0 地址输入 A2 A1和A0是器件地址输入引脚 24C02 32 64使用A2 A1和AO输入引脚作为硬件地址 总线上可同时级联8个24C02 32 64器件 24C04使用A2和A1输入引
  • 身体语言密码

    本书来自www bookdown com cn免费txt小说下载站 更多更新免费电子书请关注www bookdown com cn 掀起职场白领流行新风尚 身体语言密码 全文 一个无心的眼神 一个不经意的微笑 一个细微的小动作 就可能决定了
  • CentOS 8部署Gitlab

    Gitlab简单部署 1 环境和准备工作 操作系统 CentOS6 或者7 8测试都是没有问题的 IP地址 192 168 106 129 配置 2核 最少4G 2 建立git用户 useradd git passwd git passwd
  • python摔倒检测,跌倒检测openpose站立行为检测

    python摔倒检测 跌倒检测openpose站立行为检测 import cv2 import numpy as np from torch import from numpy jit from modules keypoints impo
  • 利用fsck修复/dev/mapper/VolGroup-lv_root: unexpected inconsistency; run fsck manually

    fsck file system check 用来检查和维护不一致的文件系统 若系统掉电或磁盘发生问题 可利用fsck命令对文件系统进行检查 如果系统启动的时候提示 dev mapper VolGroup lv root unexpecte
  • 【已解决】mysql报错error: Found option without preceding group in config file: D:\mysql-5.7.25-win32\my.ini

    之前mysql数据库出现问题 因此卸载重安顺便写个教程 顺便给大家一个小建议 如果软件出现什么莫名其妙的错误 半个小时都没有解决 不如直接重装 因为你不知道哪里出了问题 重装比找出问题简单多了 mysql从官网下载安装包直接解压即可 注意最
  • MySQL - 新增数据时想要得到新增数据的自增ID,怎么办???

    我们在实际逻辑编写时 往往会有 想要使用我们刚刚插入数据的自增ID 来做另外一件事情 这时候我们是可以通过查询刚才插入数据的某个字段作为条件 来查出这条数据的ID 但是总感觉太麻烦效率不高 当然 我们通过SQL层面也是有类似的办法 例如 S
  • Spring有哪些注入方式呢?

    转自 Spring有哪些注入方式呢 下文笔者讲述Spring注入方式分享 如下所示 Spring中有以下注入方式 1 setter属性注入 2 构造方法注入 3 lombok注入 例 1 setter属性注入 Controller publ
  • SLAM练习题(十一)—— G2O实战

    SLAM 学习笔记 写在前面的话 算是一点小小的感悟吧 估计位姿的方法有线性方法和非线性方法 线性方法就是特征点法中的2D 2D的对极约束 3D 2D的PnP问题 非线性方法有BA优化 它将位姿的估计问题转换成了一个误差关于优化量的最小二乘
  • SpringMVC关于get请求传参的问题

    在SpringMVC中 请求GetMapping注解的控制器方法 传参数时 如果直接使用get传递一个body参数过去 后端是不能正确接收的 这儿有一个篇为什么get请求不能正确接收body的解释 HTTP GET 请求可以有 body 吗
  • ROS通信机制~服务通信(server&client)·笔记3

    系列文章目录 ROS开发 ubuntu 笔记 1 嘻 嘻的博客 CSDN博客 ROS通信机制 话题通信 Publisher Subscriber 笔记2 嘻 嘻的博客 CSDN博客 服务通信 概念 以请求响应的方式实现不同节点之间数据交互的
  • MySQL基本SQL语句2(DML)

    目录 前言 一 添加数据 INSERT 1 给指定的字段添加数据 2 给所有的字段添加数据 3 添加多条数据 二 修改数据 UPDATE 修改数据语法 三 删除数据 DELETE 删除数据语法 总结 前言 DML英文全称是Data Mani
  • vue导出Excel和包含echarts的页面导出pdf

    目录 Vue用Export2Excel导出excel单表头和多表头 vue json excel插件实现导出 前端将Blob流文件转为文件导出 vue 导出HTML页面 包含echarts 为PDF Vue用Export2Excel导出ex