前端大批量数据导出方案

650 阅读1分钟

【开发笔记】在某个储值系统开发过程中,由于储值,消费表格数据量较大,使用公司原来的导出方案,会导致浏览器崩溃,无法导出,因此使用了另一种方案,使用file-saver插件,该插件也可用作图片压缩包导出。

import FileSaver from 'file-saver';
const exportList = [];
const shopHeader = [ '姓名', '年龄', ];
exportList.push(shopHeader.join() + '\n');
const list = [];// 通过后端接口查询出的数据
list.map(row => {
    const item = { name: row.name, age: row.age, };
    exportList.push(Object.values(item).join()+ '\n'); 
    // 这个循环是为了取出需要导出的数据,正常情况下接口返回的数据中会存在许多用不到的数据,导出时需要把用不到的数据清理掉
}); 
const blob = new Blob(['\ufeff',...exportList]);
// '\ufeff' 为了解决office的中文乱码问题
FileSaver.saveAs(blob, `表格.csv`);