vue使用xlsx导出多个sheet表

安装依赖

npm i xlsx file-saver

导出一个表

import * as XLSX from 'xlsx';
let exportExcel = ()=>{
    
    
	let dom = document.getElementById('table');// 获取表格DOM
	let wb = XLSX.utils.table_to_book(dom, {
    
     raw: true });
  	wb['Sheets']['Sheet1']['!cols'] = [
	    {
    
     wpx: 150 },
	    {
    
     wpx: 150 },
	    {
    
     wpx: 150 },
	    {
    
     wpx: 150 },
  	];// 设置列宽
  	let wbout = XLSX.write(wb, {
    
     bookType: 'xlsx', bookSST: true, type: 'array' });
  	try {
    
    
	    FileSaver.saveAs(new Blob([wbout], {
    
     type: 'application/octet-stream' }), "某某某导出.xlsx");
  	} catch (e) {
    
    
	    if (typeof console !== 'undefined') {
    
    
	      console.log(e, wbout);
	    }
  	}
}

导出多个表

import * as XLSX from 'xlsx';
let exportExcel = ()=>{
    
    
	let dom = document.getElementById('table');// 获取表格DOM
	let dom2 = document.getElementById('table2');// 获取表格DOM
	let wb = XLSX.utils.book_new();
  	let ws1 = XLSX.utils.table_to_sheet(dom, {
    
     raw: true });
  	let ws2 = XLSX.utils.table_to_sheet(dom2, {
    
     raw: true });
  	XLSX.utils.book_append_sheet(wb, ws1, '薪资详情');
  	XLSX.utils.book_append_sheet(wb, ws2, '审批进度');
  	wb['Sheets']['薪资详情']['!cols'] = [
	    {
    
     wpx: 150 },
	    {
    
     wpx: 150 },
	    {
    
     wpx: 150 },
	    {
    
     wpx: 150 },
  	];// 设置列宽
  	let wbout = XLSX.write(wb, {
    
     bookType: 'xlsx', bookSST: true, type: 'array' });
  	try {
    
    
	    FileSaver.saveAs(new Blob([wbout], {
    
     type: 'application/octet-stream' }), "某某某导出.xlsx");
  	} catch (e) {
    
    
	    if (typeof console !== 'undefined') {
    
    
	      console.log(e, wbout);
	    }
  	}
}

猜你喜欢

转载自blog.csdn.net/lhkuxia/article/details/130965501
今日推荐