一:在项目中需要安装2个依赖项,如下命令:

npm install --save file-saver xlsx

二:在vue文件中如下使用即可:

<template>
<div class="hello">
<h1>vue</h1>
<h2>{{msg}}</h2>
<p><button type="button" id="export-table" @click="exportFunc">下载excel文件</button></p>
<div id="out-table">
<table>
<thead>
<tr>
<td>ID</td>
<td>姓名</td>
<td>年龄</td>
</tr>
</thead>
<tbody>
<tr>
<td>111111</td>
<td>我是前端开发</td>
<td>今年29岁</td>
</tr>
</tbody>
</table>
</div>
</div>
</template> <script>
import FileSaver from 'file-saver';
import XLSX from 'xlsx';
console.log(FileSaver);
export default {
name: 'helloworld',
data () {
return {
msg: 'Welcome to Your Vue.js App'
};
},
methods: {
exportFunc: function(e) {
// 从表生成工作簿对象
var wb = XLSX.utils.table_to_book(document.getElementById('out-table'));
// 得到二进制字符串作为输出
var wbout = XLSX.write(wb, {
bookType: 'xlsx',
type: 'binary'
});
FileSaver.saveAs(new Blob([this.s2ab(wbout)], {
type: 'application/octet-stream'
}), 'a.xlsx');
},
s2ab: function(s) {
var cuf;
var i;
if (typeof ArrayBuffer !== 'undefined') {
cuf = new ArrayBuffer(s.length);
var view = new Uint8Array(cuf);
for (i = 0; i !== s.length; i++) {
view[i] = s.charCodeAt(i) & 0xFF;
}
return cuf;
} else {
cuf = new Array(s.length);
for (i = 0; i !== s.length; ++i) {
cuf[i] = s.charCodeAt(i) & oxFF;
}
return cuf;
}
}
},
components: {
FileSaver,
XLSX
}
};
</script>

注意:table里面中的表头thead中不能使用th标签,否则的话,表头导入不出去到excel文件中,只能使用tr,td这样的。

 

------------------------------------------------------------------------------------------------------

转自:https://www.cnblogs.com/tugenhua0707/p/8597050.html

vue导出table内容至excel——转的更多相关文章

  1. js导出table中的EXCEL总结

    导出EXCEL通常是用PHP做,可是项目中,有时候PHP后端project师返回的数据不是我们想要的,作为前端开发project师,把相应的数据编号转换为文字后,展示给用户.可是.需求要把数据同一时候 ...

  2. vue 导出JSON数据为Excel

    1. 安装三个依赖 npm install file-saver --save npm install xlsx --save npm install script-loader --save-dev ...

  3. JS 导出网页中Table内容到excel

    <html> <head> <script type="text/javascript" language="javascript" ...

  4. vue+file-saver+xlsx导出table表格为excel

    https://blog.csdn.net/wjswangjinsheng/article/details/91393396

  5. Vue导出json数据到Excel表格

    一.安装依赖 npm install file-saver --save npm install xlsx --save npm install script-loader --save-dev 二. ...

  6. 使用JS导出页面内容到Excel

    JS代码 <script> $(function(){ // 使用outerHTML属性获取整个table元素的HTML代码(包括<table>标签),然后包装成一个完整的HT ...

  7. ArcMap 导出Table数据到Excel

  8. 使用NPOI将TABLE内容导出到EXCEL

    项目中需要将页面中的table内容导出到EXCEL,在用了几种方法后发现NPO是最快&最好的 需要应用 NPOI.dll 还有个Ionic.Zip.dll不知道有用没,没去研究,两个DLL都放 ...

  9. html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式

    先上代码   <script type="text/javascript" language="javascript">   var idTmr; ...

随机推荐

  1. 【学术篇】CF932E Team Work && bzoj5093 图的价值

    两个题的传送门 对于CF这道题, 分别考虑每种可能的集合大小, 每个大小为\(k\)的集合数量有\(\binom nk\)个, 所以最后的答案就是 \[\sum_{i=0}^n\binom{n}{i} ...

  2. SDK打开模拟器遇到SDK包里缺少API组件,附上我的解决历程,心累

    背景描述:之前一直用真机做自动化,突然被要求用模拟器,就开始准备环境,发现模拟器里少很多配置,前提:配置了Android环境变量,且配置了代理如下:大连东软信息学院镜像服务器地址:http://mir ...

  3. Employment Planning

    Employment Planning 有n个月,每个月有一个最小需要的工人数量\(a_i\),雇佣一个工人的费用为\(h\),开除一个工人的费用为\(f\),薪水为\(s\),询问满足这n个月正常工 ...

  4. 从文本文件hello.txt到可执行文件hello

    第一阶段 使用编辑器编写的源代码 (.txt) 文件 hello.c.经过 Pre-processor 进行前处理.在前处理阶段,当 pre-processor 读到代码中的#include<s ...

  5. 设置select下拉框高度的一种方法

    这种方法可以设置下拉框最多显示几条栏目,多余的栏目用显示滚动条展示: <select style="position: absolute;z-index: 1;" onmou ...

  6. js-统计中文,英文,字符的个数

    function getByteLen(val) { ; ; i < val.length; i++) { var a = val.charAt(i); if (a.match(/[^\x00- ...

  7. Hbase表类型的设计

    HBase表类型的设计 1.短宽 这种设计一般适用于: * 有大量的列 * 有很少的行 2.高瘦 这种设计一般适用于: * 有很少的列 * 有大量的行 3.短宽-高瘦的对比 短宽 * 使用列名进行查询 ...

  8. xml配置离线约束的目的和ecplipse离线约束配置

    正常情况下如果电脑已经联网的情况下,Spring的核心配置文件编写内容的时候是可以自动提示的,假设电脑如果离线情况下想要自动提示的话,就得配置离线约束文件. https://blog.csdn.net ...

  9. js中浏览器对象BOM

    参考  :  https://www.cnblogs.com/Peng2014/p/4725524.html 1. window对象   https://www.runoob.com/jsref/ob ...

  10. Chrome 调试跨域问题解决方案之插件篇

    跨域,就是A域名下的js,想请求B域名下的接口数据.跨域,只存在于浏览器端.App和小程序不存在跨域问题.跨域,分浏览器策略和服务器策略. 如果服务器配置了允许跨域,那就没有跨域问题 如果uni-ap ...