在经典的前后端分离模式中,一般前端要下载Excel表格需要向后端发送请求,由后端将数据制作好Excel表格后再以数据流的形式发送给前端,由前端通过构造Blob对象和下载地址后通过 a标签 或者 form表单 来进行下载,这套流程是非常麻烦的,尤其是现在流行以ajax进行数据请求的时代。<br />但是,通过一个JS类包可以轻松实现前端自己将数据打包成Excel表格的形式,然后直接下载,后端只需要提供表格的数据即可<br />这就是js-export-excel,它通过将JSON格式的对象转变为xls格式的表格进行下载。
使用
1.通过npm或者yarn下载安装
npm install --save js-export-excel
2.再JS代码处导入使用,处于开发环境下(webpack、vite、vue-cli等)
import ExportJsonExcel from 'js-export-excel' //引入类库对象
let option={}; //表格的设置参数是一个对象,可以设置包括文件名,数据
option.fileName = 'excel' //文件名
// 表格的数据
option.datas=[
{
//第一个sheet(第一个excel表格)
sheetData:[{one:'一行一列',two:'一行二列'},{one:'二行一列',two:'二行二列'}],//数据
sheetName:'sheet', //表名
sheetFilter:['two','one'], //表头数据对应的sheetData数据
sheetHeader:['第一列','第二列'] //表头名称
columnWidths: ['8','4'], // 列宽
},
{
//第二个sheet(第二个excel表格)
sheetData:[{one:'一行一列',two:'一行二列'},{one:'二行一列',two:'二行二列'}]
}
];
var toExcel=new ExportJsonExcel(option); // 生成一个新的导出对象,将选项参数传入构造函数
toExcel.saveExcel(); //保存文件,浏览器会弹出下载
结束,是不是超级简单。
