前端导出excel
1.依赖安装
npm install xlsx --save
npm install file-saver --save
2.依赖导入
import XLSX from 'xlsx';
3.数据说明
datas是数据,viewCols是表头
downLoadView() {
const vm = this;
// 创建工作簿
const formattedData = this.datas.map((item) => {
const formattedItem = {};
this.viewCols.forEach((col) => {
// 保留两位小数
let value = item[col.key];
const numericValue = parseFloat(value);
if (!isNaN(numericValue)) {
value = parseFloat(parseFloat(value).toFixed(2));
}
formattedItem[col.name] = value;
});
return formattedItem;
});
// 确保无数据时有表头
if (formattedData == null || formattedData.length === 0) {
let colHeader = {};
for (let col of vm.viewCols) {
colHeader[col.name] = '';
}
formattedData.push(colHeader);
}
// 创建工作簿
const ws = XLSX.utils.json_to_sheet(formattedData);
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
// 导出 Excel 文件
XLSX.writeFile(wb, vm.getCurrentTimeString() + '_查询数据.xlsx');
},