rn...vue

前端vue实现表格的导出

2019-08-05  本文已影响0人  笨鸟使劲飞

1. Vue项目中将table组件导出Excel表格以及打印页面内容

1.这里主要需要两个依赖:xlsx file-saver

npm install xlsx --save
npm install file-saver --save

2.组件中引入

import FileSaver from 'file-saver'
import XLSX from 'xlsx'

3.组件中导出Excel的方法

//导出Excel
exportToExcel () {
    let et = XLSX.utils.table_to_book(document.getElementById('table-content')); //此处传入table的DOM节点
    let etout = XLSX.write(et, { 
        bookType: 'xlsx', 
        bookSST: true, 
        type: 'array' 
    });
    try {
        FileSaver.saveAs(new Blob([etout], { 
            type: 'application/octet-stream' 
        }), 'trade-publish.xlsx');   //trade-publish.xlsx 为导出的文件名
    } catch (e) {
        console.log(e, etout) ;
    }
    return etout;
}

4.导出按钮执行exportToExcel方法即可

<el-button @click="exportToExcel">导出</el-button>

5.打印页面部分内容的实现方法

//打印页面内容
printContent(){
    let wpt = document.getElementById('table-content');
    let newContent = wpt.innerHTML;
    let oldContent = document.body.innerHTML;
    
    document.body.innerHTML = newContent;
    window.print(); //打印方法
    window.localtion.reload();
    document.body.innerHTML = oldContent;
}

2. 如何使用JavaScript实现纯前端读取和导出excel文件

上一篇 下一篇

猜你喜欢

热点阅读